{"id":16712922,"url":"https://github.com/gabrielcsapo/bluse","last_synced_at":"2025-03-15T05:18:17.530Z","repository":{"id":70619213,"uuid":"104168251","full_name":"gabrielcsapo/bluse","owner":"gabrielcsapo","description":"⚗️ blend and fuse data with ease","archived":false,"fork":false,"pushed_at":"2018-01-13T07:11:41.000Z","size":905,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-03-15T01:53:27.685Z","etag":null,"topics":["data","normalize","utility"],"latest_commit_sha":null,"homepage":"https://gabrielcsapo.github.io/bluse","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gabrielcsapo.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-09-20T05:07:28.000Z","updated_at":"2021-05-03T04:04:46.000Z","dependencies_parsed_at":"2023-04-04T20:06:41.392Z","dependency_job_id":null,"html_url":"https://github.com/gabrielcsapo/bluse","commit_stats":{"total_commits":13,"total_committers":1,"mean_commits":13.0,"dds":0.0,"last_synced_commit":"17b815e550ca9bce6033aab8382a7e9d195f51d9"},"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielcsapo%2Fbluse","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielcsapo%2Fbluse/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielcsapo%2Fbluse/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielcsapo%2Fbluse/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielcsapo","download_url":"https://codeload.github.com/gabrielcsapo/bluse/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243685732,"owners_count":20331008,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["data","normalize","utility"],"created_at":"2024-10-12T20:44:40.527Z","updated_at":"2025-03-15T05:18:17.511Z","avatar_url":"https://github.com/gabrielcsapo.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bluse\n\n\u003e ⚗️ blend and fuse data with ease\n\n[![Npm Version](https://img.shields.io/npm/v/bluse.svg)](https://www.npmjs.com/package/bluse)\n[![Build Status](https://travis-ci.org/gabrielcsapo/bluse.svg?branch=master)](https://travis-ci.org/gabrielcsapo/bluse)\n[![Coverage Status](https://lcov-server.gabrielcsapo.com/badge/github%2Ecom/gabrielcsapo/bluse.svg)](https://lcov-server.gabrielcsapo.com/coverage/github%2Ecom/gabrielcsapo/bluse)\n[![Dependency Status](https://starbuck.gabrielcsapo.com/badge/github/gabrielcsapo/bluse/status.svg)](https://starbuck.gabrielcsapo.com/github/gabrielcsapo/bluse)\n[![devDependency Status](https://starbuck.gabrielcsapo.com/badge/github/gabrielcsapo/bluse/dev-status.svg)](https://starbuck.gabrielcsapo.com/github/gabrielcsapo/bluse#info=devDependencies)\n[![npm](https://img.shields.io/npm/dt/bluse.svg)](https://github.com/gabrielcsapo/bluse)\n[![npm](https://img.shields.io/npm/dm/bluse.svg)](https://github.com/gabrielcsapo/bluse)\n\n## Installation\n\n```\nnpm install bluse --save\n```\n\n## Usage\n\n\u003e To use `bluse` as a standalone library without a bundler, use the bundle located at dist/`bluse`.js. Else if you are using webpack or any other bundler, simply require('`bluse`') will suffice!\n\n```javascript\nconst bluse = require('bluse');\n\nconst data = [{\n  builds: [{\n    start: 1235,\n    end: 12345,\n    name: 'build1',\n    steps: [{\n      name: 'install',\n      script: 'npm install',\n      output: 'install successfully',\n      dependencies: [\n        'moment@1.0.2',\n        'kraken-js@2.0.1',\n        'tape@4.0.2'\n      ],\n      code: 0,\n      start: 1,\n      end: 34133\n    }, {\n      name: 'lint',\n      script: 'npm run lint',\n      output: 'failed lint!',\n      code: 1,\n      start: 2,\n      end: 12\n    }]\n  }, {\n    start: 1235,\n    end: 12345,\n    name: 'build2'\n  }]\n}, {\n  builds: [{\n    start: 1235,\n    end: 12345,\n    name: 'build3',\n    steps: [{\n      name: 'install',\n      script: 'npm install',\n      output: 'large outtttt',\n      dependencies: [\n        'moment@2.0.2',\n        'kraken-js@2.0.1',\n        'tape@10.0.2',\n        'tap@11.0.2'\n      ],\n      code: 0,\n      start: 1,\n      end: 34123\n    }, {\n      name: 'lint',\n      script: 'npm run lint',\n      output: 'large outtttt',\n      code: 0,\n      start: 2,\n      end: 1256\n    }, {\n      name: 'coverage',\n      script: 'npm run coverage',\n      output: 'RUNNING COVERAAAGGEE',\n      code: 0,\n      start: 2,\n      end: 123456\n    }]\n  }, {\n    start: 1235,\n    end: 12345,\n    name: 'build4'\n  }]\n}];\n\nbluse(data, { unique: true }); // the default is false\n```\n\nNow that you have `blused` your data! It should look like the following:\n\n```javascript\n{\n  'builds:start': [1235, 1235, 1235, 1235],\n  'builds:end': [12345, 12345, 12345, 12345],\n  'builds:name': ['build1', 'build2', 'build3', 'build4'],\n  'builds:steps:name': ['install', 'lint', 'install', 'lint', 'coverage'],\n  'builds:steps:script': ['npm install', 'npm run lint', 'npm install', 'npm run lint', 'npm run coverage'],\n  'builds:steps:output': ['install successfully', 'failed lint!', 'large outtttt', 'large outtttt', 'RUNNING COVERAAAGGEE'],\n  'builds:steps:dependencies': ['moment@1.0.2', 'kraken-js@2.0.1', 'tape@4.0.2', 'moment@2.0.2', 'kraken-js@2.0.1', 'tape@10.0.2', 'tap@11.0.2'],\n  'builds:steps:code': [0, 1, 0, 0, 0],\n  'builds:steps:start': [1, 2, 1, 2, 2],\n  'builds:steps:end': [34133, 12, 34123, 1256, 123456]\n}\n```\n\n## Contributions\n\n`bluse` has been extensively tested with over 200,000 records and can hold up to the task! If you can break `bluse` please contribute back!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielcsapo%2Fbluse","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielcsapo%2Fbluse","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielcsapo%2Fbluse/lists"}