{"id":17472616,"url":"https://github.com/shinnn/assign-stream","last_synced_at":"2025-03-28T08:10:58.529Z","repository":{"id":24459793,"uuid":"27862860","full_name":"shinnn/assign-stream","owner":"shinnn","description":"Streaming Object.assign()","archived":false,"fork":false,"pushed_at":"2018-11-30T19:58:09.000Z","size":29,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-05T11:16:52.362Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shinnn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-11T09:08:29.000Z","updated_at":"2018-11-30T19:58:10.000Z","dependencies_parsed_at":"2022-08-22T08:20:33.493Z","dependency_job_id":null,"html_url":"https://github.com/shinnn/assign-stream","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinnn%2Fassign-stream","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinnn%2Fassign-stream/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinnn%2Fassign-stream/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shinnn%2Fassign-stream/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shinnn","download_url":"https://codeload.github.com/shinnn/assign-stream/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245991582,"owners_count":20706129,"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":[],"created_at":"2024-10-18T17:29:08.579Z","updated_at":"2025-03-28T08:10:58.511Z","avatar_url":"https://github.com/shinnn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# assign-stream\n\n[![npm version](https://img.shields.io/npm/v/array-find-predecessor.svg)](https://www.npmjs.com/package/array-find-predecessor)\n[![Build Status](https://travis-ci.com/shinnn/assign-stream.svg?branch=master)](https://travis-ci.com/shinnn/assign-stream)\n[![Coverage Status](https://img.shields.io/coveralls/shinnn/assign-stream.svg)](https://coveralls.io/github/shinnn/assign-stream)\n\nStreaming [`Object.assign()`](http://www.2ality.com/2014/01/object-assign.html)\n\n```javascript\nvar assign = require('assign-stream');\n\nvar target = {foo: 'Hi'};\nvar assignStream = assign(target);\n\nassignStream.on('finish', function() {\n  target; //=\u003e {foo: 'Hello', bar: 'World'}\n});\n\nassignStream.write({foo: 'Hello'});\nassignStream.write({bar: 'World'});\n\nassignStream.end();\n```\n\n## Installation\n\n[Use](https://docs.npmjs.com/cli/install) [npm](https://docs.npmjs.com/about-npm/).\n\n```\nnpm install assign-stream\n```\n\n## API\n\n```javascript\nconst assignStream = require('assign-stream');\n```\n\n### assignStream([*target*,] [*callback*])\n\n*target*: any value except for `null` (`{}` by default)  \n*callback*: `Function`  \nReturn: [`stream.Writable`](https://nodejs.org/api/stream.html#stream_class_stream_writable)\n\nIt returns a writable stream that assigns enumerable own properties of chunk objects to the target object using [`Object.assign()`](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign).\n\n```javascript\nconst assignStream = require('assign-stream');\nconst array = require('stream-array'); // npm install stream-array\n\nconst target = {baz: 2};\n\nassignStream([{foo: 0, bar: 1}, {qux: 3}]);\n.on('end', () =\u003e {\n  target; //=\u003e {foo: 0, bar: 1, baz: 2, qux: 3}\n});\n\narrayStream.pipe(assignStream());\n```\n\nTarget object is optional.\n\n```javascript\nconst assign = require('assign-stream');\n\n// this._target is an internal property to keep target object\nassign\n.on('finish', () =\u003e {\n  this._target; //=\u003e {}\n})\n.end();\n```\n\n#### callback(target)\n\nYou can specify a function to be called on `finish` event. it will be called with the target object.\n\n```javascript\nconst assignStream = require('assign-stream');\n\nassignStream(target =\u003e {\n  target; //=\u003e [0, 1, 2]\n}).end([0, 1, 2]);\n\nassignStream([0, 1, 2], target =\u003e {\n  target; //=\u003e [0, 1, 2]\n}).end();\n```\n\n## License\n\nCopyright (c) 2014 - 2018 [Shinnosuke Watanabe](https://github.com/shinnn)\n\nLicensed under [the MIT License](./LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinnn%2Fassign-stream","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshinnn%2Fassign-stream","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshinnn%2Fassign-stream/lists"}