{"_id":"@baiigk/booma","_rev":"7-a491aecbb1af567e6f5338e5e809ad75","time":{"created":"2023-10-11T12:35:18.923Z","1.0.0":"2023-10-11T10:40:15.653Z","modified":"2023-10-12T09:26:48.795Z","1.0.1":"2023-10-11T12:35:19.173Z","1.0.2":"2023-10-12T09:26:48.597Z"},"name":"@baiigk/booma","dist-tags":{"latest":"1.0.2"},"versions":{"1.0.1":{"name":"@baiigk/booma","version":"1.0.1","repository":{"type":"git","url":"git+https://github.com/BAIIGK/Booma-Package.git"},"description":"query structured &  unstructured data like sql.","main":"index.js","devDependencies":{},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"author":{"name":"Mohamed S.M.Salama  & Neveen S.Nagy"},"license":"ISC","gitHead":"a060ddc24f79500446ed797aad5cc0e268f842f2","bugs":{"url":"https://github.com/BAIIGK/Booma-Package/issues"},"homepage":"https://github.com/BAIIGK/Booma-Package#readme","_id":"@baiigk/booma@1.0.1","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-5OguybCdoCTwl2EafVeSs9WhDfDGiVQw89EeimEBnb0U5aBahDi2JA+wBQL0pjOciXRQM65+WMQVuBivu0Qqdw==","shasum":"8f0fbe94ea67180b9dc51516688d1ffd3f705eff","tarball":"https://registry.npmjs.org/@baiigk/booma/-/booma-1.0.1.tgz","fileCount":5,"unpackedSize":24736,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEQCIBrbZo8Qa4y+EHQvot1flxs9qfj7DMBnVeFzW52P+GXyAiABWSevRGoNJHmxYCslMsTNd8lbzdQoYBKdJ9f4BMNgCQ=="}]},"_npmUser":{"name":"baiigk.mn","email":"baiigk.mn@gmail.com"},"directories":{},"maintainers":[{"name":"mohamed_salama","email":"mohamedms.dev@gmail.com"},{"name":"neveensamirnagy","email":"snev7777@gmail.com"},{"name":"baiigk.mn","email":"baiigk.mn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/booma_1.0.1_1697027719019_0.4766621876335235"},"_hasShrinkwrap":false},"1.0.2":{"name":"@baiigk/booma","version":"1.0.2","repository":{"type":"git","url":"git+https://github.com/BAIIGK/Booma-Package.git"},"description":"query structured &  unstructured data like sql.","main":"index.js","devDependencies":{},"scripts":{"test":"echo \"Error: no test specified\" && exit 1"},"keywords":["SQL","NoSQL","Query","Data Processing","Data Managment","Structured Data","UnStructured Data"],"author":{"name":"Mohamed S.M.Salama  & Neveen S.Nagy"},"license":"ISC","gitHead":"50e56012e808e0fa26af300817f0cd52a3d21d68","bugs":{"url":"https://github.com/BAIIGK/Booma-Package/issues"},"homepage":"https://github.com/BAIIGK/Booma-Package#readme","_id":"@baiigk/booma@1.0.2","_nodeVersion":"16.13.0","_npmVersion":"8.1.0","dist":{"integrity":"sha512-dyNmctepE4dvB/9nUtv8M8eOCW6dQU0M+UzlLXluT7+AvdTwdJdTZd7OJEzp4o4fWkDFJjF2nMM1uWTbETKPrQ==","shasum":"b56c8450e3d24a3e9c23d66c029b4cad8c91acbc","tarball":"https://registry.npmjs.org/@baiigk/booma/-/booma-1.0.2.tgz","fileCount":5,"unpackedSize":27705,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDx8Gx4YADV3TjIAzV38YQ4733YIzyML9pEW2sFvgFjVgIhAN+/kQMH4D2NVKnhkg0wJWGRGQ7e/CXcMcwyojBPRJeH"}]},"_npmUser":{"name":"baiigk.mn","email":"baiigk.mn@gmail.com"},"directories":{},"maintainers":[{"name":"mohamed_salama","email":"mohamedms.dev@gmail.com"},{"name":"neveensamirnagy","email":"snev7777@gmail.com"},{"name":"baiigk.mn","email":"baiigk.mn@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/booma_1.0.2_1697102808373_0.2518035543749826"},"_hasShrinkwrap":false}},"maintainers":[{"name":"mohamed_salama","email":"mohamedms.dev@gmail.com"},{"name":"neveensamirnagy","email":"snev7777@gmail.com"},{"name":"baiigk.mn","email":"baiigk.mn@gmail.com"}],"description":"query structured &  unstructured data like sql.","homepage":"https://github.com/BAIIGK/Booma-Package#readme","repository":{"type":"git","url":"git+https://github.com/BAIIGK/Booma-Package.git"},"author":{"name":"Mohamed S.M.Salama  & Neveen S.Nagy"},"bugs":{"url":"https://github.com/BAIIGK/Booma-Package/issues"},"license":"ISC","readme":"# ***Booma***\r\n\r\nBooma is a JavaScript library applies data management and inquiry on structured and unstructured data.\r\n\r\n\r\n## Environment\r\n- **NPM**: 8.1.0\r\n- **Node**: v16.13.0\r\n\r\n## Installation\r\nBefore installing, [download and install Node.js](https://nodejs.org/en/download/).\r\nNode.js 0.10 or higher is required.\r\n\r\nInstallation is done using the\r\n[`npm install` command](https://docs.npmjs.com/getting-started/installing-npm-packages-locally):\r\n\r\n```console\r\n$ npm install @baiigk/booma\r\n```\r\n\r\n## Features\r\n\r\nBooma provides many SQL-like functionalities that can be very helpful in data processing\r\n  * SQL-Like Syntax.\r\n  * Filtering and Operators.\r\n  * Sorting Criteria.\r\n  * Grouping and Aggregates.\r\n  * Control of Records Returned.\r\n\r\n## Example\r\n```js\r\nconst {ClassWithStaticMethod} = require('@baiigk.mn/booma');\r\n\r\nvar data = [\r\n        { id: 1, name: 'Berri Gay', gender: 'Female', age: 24 },\r\n        { id: 2, name: 'Bianca Rathbourne', gender: 'Female', age: 37 },\r\n        { id: 3, name: 'Jaye Phillps', gender: 'Male', age: 48 },\r\n        { id: 4, name: 'Lorne Ortell', gender: 'Female', age: 24 },\r\n        { id: 5, name: 'Almire Maddock', gender: 'Female', age: 32 },\r\n        { id: 6, name: 'Gates Cann', gender: 'Female', age: 48 },\r\n        { id: 7, name: 'Janene Mersey', gender: 'Female', age: 26 },\r\n        { id: 8, name: 'Towney Jerzykiewicz', gender: 'Male', age: 21 },\r\n        { id: 9, name: 'Tiebout Glasheen', gender: 'Male', age: 24 },\r\n        { id: 10, name: 'Yurik Morigan', gender: 'Male', age: 48 },\r\n        { id: 11, name: 'Goldina Danielsky', gender: 'Female', age: 22 },\r\n        { id: 12, name: 'Ambrosius Antoniewski', gender: 'Male', age: 50 },\r\n        { id: 13, name: 'Aidan McNae', gender: 'Female', age: 48 },\r\n        { id: 14, name: 'Saul Farnon', gender: 'Male', age: 31 },\r\n        { id: 15, name: 'Hendrick Knighton', gender: 'Male', age: 28 },\r\n        { id: 16, name: 'Osborne Greenland', gender: 'Male', age: 44 },\r\n        { id: 17, name: 'Abbe Geram', gender: 'Female', age: 49 },\r\n        { id: 18, name: 'Rakel Gelardi', gender: 'Female', age: 23 },\r\n        { id: 19, name: 'Jonie Edworthy', gender: 'Female', age: 30 },\r\n        { id: 20, name: 'Staci Newcomen', gender: 'Female', age: 30 },\r\n        { id: 21, name: 'Ayn Tuxwell', gender: 'Female', age: 25 }\r\n    ];\r\n\r\nfunction test() {\r\n  ClassWithStaticMethod.parse_input(\r\n        data,\r\n        'ARRAY_OF_OBJ'\r\n    );\r\n\r\n    const res = ClassWithStaticMethod.select({\r\n        columns: ['name', 'age']\r\n    });\r\n\r\n    return res\r\n}\r\n\r\nconsole.log(test());\r\n```\r\n## Usage\r\n\r\nFirst, user needs to pass the data and its type through ```parse_input``` function which will perform some initial processing on data.\r\n\r\nThere are 2 types of ```ARRAY_OF_OBJ``` like the example above or ```ARRAY_OF_ARRAY```, in this case the data should be like below\r\n```js\r\nvar data = [\r\n        [ \"id\", \"name\", \"gender\", \"age\" ],\r\n        [ 2, 'Bianca Rathbourne', 'Agender', 37 ],\r\n        [ 3, 'Jaye Phillps', 'Male', 48 ],\r\n        [ 4, 'Lorne Ortell', 'Female', 24 ]\r\n]\r\n```\r\n\r\nThen, ```select``` function can be used for inquiring, it takes an object as parameter which has all the values needed for select query like below\r\n(Note: user doesn't need to add all the object parameters just the ones needed)\r\n```js\r\n    const result = ClassWithStaticMethod.select({\r\n      columns: ['gender', 'age', 'count(id)'],\r\n      conditions: 'age > 30',\r\n      group_by: ['gender', 'age'],\r\n      having: 'count(id) > 1',\r\n      order_by: ['count(id)'],\r\n      limit: '5',\r\n    });\r\n```\r\n\r\n## People\r\n\r\n- The original authors of Booma are:\r\n    - [Mohamed Salama](https://github.com/MhmdSlama)\r\n    - [Neveen S.Nagy](https://github.com/Neveen-Samir-Nagy)\r\n\r\n\r\n\r\n","readmeFilename":"README.md","keywords":["SQL","NoSQL","Query","Data Processing","Data Managment","Structured Data","UnStructured Data"]}