{"analyzedAt":"2022-07-09T01:02:17.115Z","collected":{"metadata":{"name":"knight-sql-criteria-filler","scope":"unscoped","version":"1.0.1","description":"A SQL query criteria filler","date":"2021-09-01T19:57:38.055Z","author":{"name":"Coderitter GmbH"},"publisher":{"username":"coderitter","email":"schreib@coderitter.io"},"maintainers":[{"username":"coderitter","email":"schreib@coderitter.io"}],"repository":{"type":"git","url":"git+https://github.com/c0deritter/knight-sql-criteria-filler.git"},"links":{"npm":"https://www.npmjs.com/package/knight-sql-criteria-filler","homepage":"https://github.com/c0deritter/knight-sql-criteria-filler#readme","repository":"https://github.com/c0deritter/knight-sql-criteria-filler","bugs":"https://github.com/c0deritter/knight-sql-criteria-filler/issues"},"dependencies":{"knight-criteria":"^1.0.0","knight-sql":"^1.0.0"},"devDependencies":{"@types/chai":"^4.2.14","@types/mocha":"^7.0.2","chai":"^4.2.0","mocha":"^7.2.0","ts-node":"^8.10.2","typescript":"^3.9.7"},"releases":[{"from":"2022-06-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":0},{"from":"2022-04-10T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":1},{"from":"2022-01-10T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":1},{"from":"2021-07-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":2},{"from":"2020-07-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":4}],"hasTestScript":true,"hasSelectiveFiles":true,"readme":"# Knight SQL Criteria Filler by Coderitter\n\n## Related packages\n\nThis package uses criteria from [knight-criteria](https://github.com/c0deritter/knight-criteria) and fills a SQL query based on [knight-sql](https://github.com/c0deritter/knight-sql).\n\nIf you are looking for a more sophisticated solution to query a database use [knight-orm](https://github.com/c0deritter/knight-orm).\n\n## Install\n\n`npm install knight-sql-criteria-filler`\n\n## Overview\n\nEvery fill function takes an array of column names to ignore invalid or protected criteria fields.\n\n### fillCreateCriteria()\n\n```typescript\nimport sql from 'knight-sql'\nimport { CreateCriteria } from 'knight-criteria'\nimport { fillCreateCriteria } from 'knight-sql-criteria-filler'\n\nlet criteria: CreateCriteria = {\n  name: 'Matthias',\n  age: 37\n}\n\nlet query = sql.insertInto('table')\n\n// last parameter is the list of valid column names\nfillSqlInsertQuery(query, criteria, ['name', 'age'])\n\nquery.mysql() == 'INSERT INTO table (name, age) VALUES (?, ?)'\nquery.values() == ['Matthias', 37]\n```\n\n### fillReadCriteria()\n\n```typescript\nimport sql from 'knight-sql'\nimport { ReadCriteria } from 'knight-criteria'\nimport { fillReadCriteria } from 'knight-sql-criteria-filler'\n\nlet criteria: ReadCriteria = {\n  name: { operator: 'LIKE', value: '%tth%' },\n  age: { operator: '>', value: 30 }\n}\n\nlet query = sql.select('*').from('table')\n\n// last parameter is the list of valid columns\nfillSqlSelectQuery(query, criteria, ['name', 'age'])\n\nquery.mysql() == 'SELECT * FROM table WHERE name LIKE ? AND age > ?'\nquery.values() == ['%tth%', 30]\n```\n\n### fillUpdateCriteria()\n\n```typescript\nimport sql from 'knight-sql'\nimport { UpdateCriteria } from 'knight-criteria'\nimport { fillUpdateCriteria } from 'knight-sql-criteria-filler'\n\nlet criteria: UpdateCriteria = {\n  id: 1\n  '@set': {\n    age: 33\n  }\n}\n\nlet query = sql.update('table')\n\n// last parameter is the list of valid columns\nfillSqlUpdateQuery(query, criteria, ['name', 'age'])\n\nquery.mysql() == 'UPDATE table SET age = ? WHERE id = 1'\nquery.values() == [33, 1]\n```\n\n### fillDeleteCriteria()\n\n```typescript\nimport sql from 'knight-sql'\nimport { DeleteCriteria } from 'knight-criteria'\nimport { fillDeleteCriteria } from 'knight-sql-criteria-filler'\n\nlet criteria: DeleteCriteria = {\n  id: 1\n}\n\nlet query = sql.deleteFrom('table')\n\n// last parameter is the list of valid columns\nfillSqlDeleteQuery(query, criteria, ['name', 'age'])\n\nquery.mysql() == 'DELETE FROM table WHERE id = ?'\nquery.values() == [1]\n```"},"npm":{"downloads":[{"from":"2022-07-08T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":0},{"from":"2022-07-02T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":3},{"from":"2022-06-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":8},{"from":"2022-04-10T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":42},{"from":"2022-01-10T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":70},{"from":"2021-07-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":198}],"starsCount":0},"github":{"starsCount":0,"forksCount":0,"subscribersCount":2,"issues":{"count":3,"openCount":1,"distribution":{"3600":0,"10800":0,"32400":0,"97200":0,"291600":2,"874800":0,"2624400":0,"7873200":0,"23619600":1,"70858800":0,"212576400":0},"isDisabled":false},"contributors":[{"username":"dependabot[bot]","commitsCount":2}],"commits":[{"from":"2022-07-02T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":0},{"from":"2022-06-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":0},{"from":"2022-04-10T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":0},{"from":"2022-01-10T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":0},{"from":"2021-07-09T00:00:00.000Z","to":"2022-07-09T00:00:00.000Z","count":1}]},"source":{"files":{"readmeSize":2507,"testsSize":10662},"outdatedDependencies":{"knight-criteria":{"required":"^1.0.0","stable":"2.2.1","latest":"2.2.1"},"knight-sql":{"required":"^1.0.0","stable":"2.2.2","latest":"2.2.2"}}}},"evaluation":{"quality":{"carefulness":0.46,"tests":0.6,"health":0.5,"branding":0},"popularity":{"communityInterest":3,"downloadsCount":14,"downloadsAcceleration":-0.10734398782343987,"dependentsCount":0},"maintenance":{"releasesFrequency":0.9,"commitsFrequency":0.9,"openIssues":0.9,"issuesDistribution":0.9}},"score":{"final":0.5670446691332911,"detail":{"quality":0.6936826603449002,"popularity":0.025623600565824703,"maintenance":0.9999188880908068}}}