{"_id":"@altalogy/a6y-format-and-validate","_rev":"3-36806f67820d1abd9f0a55eba9753303","name":"@altalogy/a6y-format-and-validate","dist-tags":{"latest":"0.2.0"},"versions":{"0.1.0":{"name":"@altalogy/a6y-format-and-validate","version":"0.1.0","description":"Library to validate form values and format.","main":"index.js","scripts":{"test":"jest "},"author":{"name":"Altalogy"},"license":"MIT","dependencies":{"moment":"^2.29.1"},"directories":{"test":"test"},"devDependencies":{},"keywords":["formater","validator"],"_id":"@altalogy/a6y-format-and-validate@0.1.0","_nodeVersion":"15.2.1","_npmVersion":"6.14.9","dist":{"integrity":"sha512-DLW5Jlpz06P2Dqzb4uBW0btdriao+akoTtws6MCCk7KfFfKGprGgjHhuRnF1Q8Op/qTB86AEzUfS7Xr3vqVHJg==","shasum":"5c97e0f0c262d71945a78b3f47c2581c8415c769","tarball":"https://registry.npmjs.org/@altalogy/a6y-format-and-validate/-/a6y-format-and-validate-0.1.0.tgz","fileCount":6,"unpackedSize":2706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuRy2CRA9TVsSAnZWagAAZTsQAItQi/OcVQyZa1BGo6II\nAla3NzfX5jVuB9KMwyWcUsUg4Mlvb9crpU1P9Y8xcR3wwQowXK8zZr8Mi4Zb\nbfxmJuBIoXwK+ymTGu2p7Wga9yni8fIYX/xR/AprAe2S9/AV7eQ3jrfudwwt\ncX0O9edpagzegTqbe9uqObH2IZBwHq2KVMTIRcAUnGMxylHqOTJb0FEJYg/d\nJ8lIKF6sxdq15MNxJqlPpYbKZNI+9icvuuEQ1Qu6xcCo1RV4nuZ0e/lyhXWF\n2VarZWB/9A0NA46Aa4eNA9Pbb1ymfjZ5Y48ERJ4Oi7E5GdJSXkpYnGfbpC7Q\nzPhKR8FZSXJWRRLY6YtXWNZIKPYhXrJeBgv4s5Dz8OxPTDAMeRC7fUfiSr3t\ny5T3pBDYw9FWkbJbokFWcK/yr54ZDos0jqSQhchxxLBaxCXxwulNpP4S5YEu\nUP7vWcvqwzdcsHicn9R7onK3bhB0NVK+bDSSzXk9geY1hSTbeJkmGeWuw1yn\nHc+BFAWh4xnGy+JYRoVLDBIzzfiaRhp1p6IOiQDX3Prv/Lc1DvOPjHPtLdt6\nlIKKYbyNVSiBnpx0teT+2jZtt7drJ6BcOdY69NDSLwINbv3x/636y5XyvpMg\nbLlLsaxbDro0vBNhtr8fg7vhiNKR8wybaNirxu6HZR3/aXv4NwUmtBe4ofY0\nCZpr\r\n=SEyE\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCfeSyMnsfTplGtlkwqS2h+0kzxCS8ZwfPSLZDcxb6mTQIhAPfGkrG48nASLcQJ+KesRqv3xHk0CqR6gZewLxQdW4If"}]},"_npmUser":{"name":"tomasz_antas","email":"tom@altalogy.com"},"maintainers":[{"name":"tomasz_antas","email":"tom@altalogy.com"},{"name":"arkadiusz_celer","email":"arku@altalogy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/a6y-format-and-validate_0.1.0_1605967029698_0.7423917874534753"},"_hasShrinkwrap":false},"0.1.1":{"name":"@altalogy/a6y-format-and-validate","version":"0.1.1","description":"Library to validate form values and format.","main":"index.js","scripts":{"test":"jest "},"author":{"name":"Altalogy"},"license":"MIT","dependencies":{"moment":"^2.29.1"},"directories":{"test":"test"},"devDependencies":{},"keywords":["formater","validator"],"_id":"@altalogy/a6y-format-and-validate@0.1.1","_nodeVersion":"15.2.1","_npmVersion":"6.14.9","dist":{"integrity":"sha512-6mOkOf4bEosKATuG6x1UbNOjwWsuf69lnE68E5chIEk9tuUaJ1fUeJP5JLBfQcW+9e3ZCTet6hQ86Vb+gHz4EQ==","shasum":"c89be1d67f94ee39db67367c27d3e0360ec2a2d4","tarball":"https://registry.npmjs.org/@altalogy/a6y-format-and-validate/-/a6y-format-and-validate-0.1.1.tgz","fileCount":6,"unpackedSize":2706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuRzPCRA9TVsSAnZWagAA5lwP/2DAlg+cj59IhvztbiSN\ntROPf1oWYFDbW6bt7cY3PHaaD2d5GAQCtOJe3lXVu1JEexE09zNVpNVDqqMM\nZ5OGbtfrFqFixM7d2VilzUsi3mKtBcWP3fWOHXlTZ82qtrOXuko1Tq8d61Rf\nR7glu+xxGAxRJ00Xie+U8mqSdf+ALl2HUMB+uw20/c0/6pxYgn+zFmuuTQxq\n6cVB0e89vvggLdbuaTd/dkqReSTMfu7wlya16F8D7WfSZFDzOF2gLTpThomr\nx54vnx3E9oWr53pXCXffRpyGlY0KfyveE7syacZKIfZm0NjgHSlZFRj6qD9S\n8BBK+XdvjoU7CVo55a34Q58WIOt8KFj83b/Sd/Cuj5bp0fZLQyUpdUgq+BSP\nDE8tBlZhTKwgEwyn7xS84+pw6pNku+qoeCUWyE0NuGlbYEdZ4NdfiUiICKaH\nRWLR7g/piFD/pQBwzHUuIzGJGStKrfp4w4L7ZQqCa+obYX6TAAONkbmAJ5hd\nlCzgl1AqEYw+rT+1N2vcZssK5gjy6/HxAIed81I6JHXVrmun+icfaeO2/eh6\n63cKu5nxGgMY126kN4GvKoyoUHek0eeliMcLQ7cMS9k10LBxpVbnqHcYXx3w\naaPkmphM2Gtd6PEGz+gx3oNjDLaYCoDxBMh3m709FJs6HNHHB/YMkQbk/yE1\n2jlY\r\n=9ttj\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDP2/QajJoYBVIbPOlUNAQYU1pxcXlbLXWLdBGeNI7fpAIhAOwes0PAoVvNMsY/LvXvqD5D6hESeyPBjqK4PKHOXR41"}]},"_npmUser":{"name":"tomasz_antas","email":"tom@altalogy.com"},"maintainers":[{"name":"tomasz_antas","email":"tom@altalogy.com"},{"name":"arkadiusz_celer","email":"arku@altalogy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/a6y-format-and-validate_0.1.1_1605967055129_0.3340403356267405"},"_hasShrinkwrap":false},"0.2.0":{"name":"@altalogy/a6y-format-and-validate","version":"0.2.0","description":"Library to validate and format values.","main":"src/index.js","author":{"name":"Altalogy"},"license":"MIT","homepage":"https://altalogy.github.io/a6y-format-and-validate/","repository":{"type":"git","url":"git+https://github.com/Altalogy/a6y-format-and-validate.git"},"bugs":{"url":"https://github.com/Altalogy/a6y-format-and-validate/issues"},"dependencies":{"moment":"^2.29.1"},"directories":{"test":"test"},"scripts":{"test":"jest --coverage"},"devDependencies":{"@babel/preset-env":"^7.12.7","babel-jest":"^26.6.3","jest":"^26.6.3"},"keywords":["formater","validator"],"gitHead":"e1e662e7c660f9c86885fe71a61a3538fb00d502","_id":"@altalogy/a6y-format-and-validate@0.2.0","_nodeVersion":"15.2.1","_npmVersion":"6.14.9","dist":{"integrity":"sha512-O6gMdYf847oCwViD2sNLuSzkq71ruBvZ4vNBCBvPLOhCnS59utZXoCprDq1WSagKnkj1qk4ThbF3icm94v/pRQ==","shasum":"4b1a1b9fa6f7f4d2f937071432562fb6a7d048cf","tarball":"https://registry.npmjs.org/@altalogy/a6y-format-and-validate/-/a6y-format-and-validate-0.2.0.tgz","fileCount":12,"unpackedSize":15160,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfuTzaCRA9TVsSAnZWagAAuG8P/1p/31iSmbMwvHzmyl0/\n6bsEUX0G3Bdu4iLokRhatHSbYonL1jXgvLgkJiIhUtdhiLIZ1SEOjUj2Dsyz\nCm2nZOaSwxmN2kPDKtes7KYTW//0dJV6VBzob/8iQUoRyYRgQFFkTRqDT7Bp\ndkdN+xJmoxe5mEVrBjXix5wVrkAv9GNekOJJd+41Be36a9cXHCViRR31wX1b\ndi3lPxy4lPnOilpFMMlNg/wEHQ3lMxnmDe8zyCbM9kNCrCybYijXh75V0Yv8\n+kkab+hK9hdgedUYhQnb9doU8aWtrIPPHBINu3qHi4I8dFphEduBTgzORAWS\nadyQF2K2KrW+xWbKcuZXenb88fz6fNmhtmg+J3ZtbWMx+LUb9x/4RdC0861X\nVoPo3AuF0FQQzjqvk7lLcB3GEClw6u+YGklveHUQyzVL+/o6peMs/Gq7wKfQ\nNZ8mGJ9PGAR8Td+orTnljNv7y9EgBqWE/mHag+uRI9Q0q/NFQjA15sT8GGpy\nXdAG2fa9ZX71SMxgpDvCmpeY63f0O6ndjWUXDOJZiz4GFNACR4JaUqIfAwI0\nUIwmFV1SD+V+OuW5rxguLIakcXI3ReqUnQuMAH+TiJf7VGsXOJzVLB54m0AB\n3UzLRfivcEN8ZQZiBSoajWYsxjeimZd+IDV1uqkaGSzJulnhNiNgrdeIwY/N\n9/Du\r\n=2Xpt\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQCEZRKh4RGZzxkhQquhZbsjzUDxMdPpi/nK8+vmPGrCUAIgbYWyUUz9z2+BZFIcf75shbNpC0SYBWLvnYbVtbFFoN8="}]},"_npmUser":{"name":"tomasz_antas","email":"tom@altalogy.com"},"maintainers":[{"name":"tomasz_antas","email":"tom@altalogy.com"},{"name":"arkadiusz_celer","email":"arku@altalogy.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/a6y-format-and-validate_0.2.0_1605975257590_0.9680007021374548"},"_hasShrinkwrap":false}},"time":{"created":"2020-11-21T13:57:09.475Z","0.1.0":"2020-11-21T13:57:09.878Z","modified":"2022-04-04T13:39:32.579Z","0.1.1":"2020-11-21T13:57:35.348Z","0.2.0":"2020-11-21T16:14:17.754Z"},"maintainers":[{"name":"tomasz_antas","email":"tom@altalogy.com"},{"name":"arkadiusz_celer","email":"arku@altalogy.com"}],"description":"Library to validate and format values.","keywords":["formater","validator"],"author":{"name":"Altalogy"},"license":"MIT","readme":"## A6Y - Format and validate\n\nFormat and validate form's fields values.\n\n\n### Quick start\n\n1. Install:\n\n```bash\n$ yarn add @altalogy/a6y-format-and-validate\n```\n\n2. Import:\n\n```javascript\nimport * as fv from '@altalogy/a6y-format-and-validate'\n\n// Or:\n\nimport { formatDate } from '@altalogy/a6y-format-and-validate'\n```\n\n3. Use:\n\n```javascript\nfv.formatDate('2000-12-30 14:30', 'dd-MM-yyyy')\n\n// Or:\n\nformatDate('2000-12-30 14:30', 'dd-MM-yyyy')\n\n// Output: Sa-30-2000\n\n```\n\n\n### Validator usage\n\nThe `validate` functions takes two params:\n\n* `values` - map of values: `{ 'field-name': 'field-value' }`,\n* `fields` - configuration containing validation rules.\n\nThe `fields` configuration contains:\n\n* `name` - the field name (the same as `'field-name'`),\n* `rules` - array of constraints that the field's values has to satisfy. Each `rule` contains a type and may contain additional fields.\n\nExamples:\n\n```javascript\n// Values from the form:\nconst values = {\n  title: 'My title',\n  description: 'Some description',\n  price: 12.99\n}\n\n// The validation config defining fields constraints:\nconst fields = [\n\n  // The 'title' field:\n  {\n    name: 'title', // The field name\n    rules: [\n      {\n        type: 'CANNOT_BE_BLANK' // The rule type\n      },\n      {\n        type: 'MAX_LENGTH', // The rule type\n        limit: 100 // Some rules may require additional data, like the length limit in MAX_LENGTH case\n      }\n    ]\n  }\n\n  // The 'description' field\n  {\n    name: 'title', // The field name\n    rules: [\n      {\n        type: 'MAX_LENGTH',\n        limit: 255\n      }\n    ]\n  }\n\n]\n\n```\n\nThe `validate()` function returns:\n\n```javascript\n\nimport { validate } from '@altalogy/a6y-format-and-validate'\n\n\nconst values = { ... } // form values\nconst fields = [ ... ] // the fields configuration\n\nvalidate(values, fields)\n\n// Return:\n\n{\n  isValid: false, // false if any of values is invalid. True if all are valid.\n  errors: {\n    fieldName: [ 'CANNOT_BE_BLANK' ], // the array of invalid rules for the 'fieldName' field.\n    title: [ 'MAX_LENGTH' ]\n  }\n}\n```\n\n\nAvailable cases:\n\n\n```javascript\n// CANNOT_BE_BLANK\n{\n  type: 'CANNOT_BE_BLANK',\n}\n\n\n// MAX_LENGTH\n{\n  type: 'MAX_LENGTH',\n  limit: 100\n}\n\n```\n\n\n\n\n### Formater usage\n\n#### Format Date\n\nFormats date using moment.js:\n\n```javascript\nimport { formatDate } from '@altalogy/a6y-format-and-validate'\n\n// formatDate(value, format)\nformatDate('2000-12-30 14:30', 'dd-MM-yyyy')\n\n```\n\n### Development\n\n1. Add a new function to validate or format value in: `./src`\n\n2. Add JSDoc comment what the function does.\n\n3. Add test in `__tests__`\n\n\n### LICENSE\n\nMIT","readmeFilename":"README.md","homepage":"https://altalogy.github.io/a6y-format-and-validate/","repository":{"type":"git","url":"git+https://github.com/Altalogy/a6y-format-and-validate.git"},"bugs":{"url":"https://github.com/Altalogy/a6y-format-and-validate/issues"}}