{"_id":"@allensarkisyan/schwab-td-ameritrade-streamer","_rev":"4-5e066361e0ee39bcbc0dc3ff7607b206","name":"@allensarkisyan/schwab-td-ameritrade-streamer","dist-tags":{"latest":"1.0.0"},"versions":{"0.0.1":{"name":"@allensarkisyan/schwab-td-ameritrade-streamer","version":"0.0.1","private":false,"type":"module","author":{"name":"Allen Sarkisyan"},"main":"./dist/cjs/td-streamer.js","module":"./dist/esm/td-streamer.js","types":"./index.d.ts","license":"MIT","homepage":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer","repository":{"type":"git","url":"git+https://github.com/allensarkisyan/schwab-td-ameritrade-streamer.git"},"bugs":{"url":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/issues"},"description":"Charles Schwab / TD Ameritrade - JavaScript / TypeScript Streamer - WebSocket Client","keywords":["TD Ameritrade","Charles Schwab","Stocks","Trading","Options","Futures","Market Data","Financial Data","Streaming Data","Fintech"],"scripts":{"build:types":"tsc --declaration --project tsconfig.types.json","build:esm":"tsc --project tsconfig.json --module esnext --outDir ./dist/esm","build:cjs":"tsc --project tsconfig.json --module commonjs --outDir ./dist/cjs","build":"npm run build:types && npm run build:esm && npm run build:cjs && prettier ./index.d.ts --write && cd dist && prettier . --write && npm run prepare-types","prepare-types":"./scripts/prepare_types.sh","test":"jest --verbose --coverage --testPathIgnorePatterns=/test/helpers.js --coveragePathIgnorePatterns=/test/helpers.js"},"dependencies":{"eventemitter3":"5.0.1","isomorphic-ws":"5.0.0","ws":"8.14.1","xml-js":"1.6.11"},"devDependencies":{"@types/node":"20.6.0","jest":"29.7.0","prettier":"3.0.3","typescript":"5.2.2","uWebSockets.js":"github:uNetworking/uWebSockets.js#v20.31.0"},"prettier":{"semi":true,"trailingComma":"all","singleQuote":true,"printWidth":80,"tabWidth":2,"arrowParens":"always"},"engines":{"node":">=16.0.0"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-streamer.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-streamer.js"},"default":"./dist/esm/td-streamer.js"},"./td-constants":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-constants.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-constants.js"},"default":"./dist/esm/td-constants.js"}},"_id":"@allensarkisyan/schwab-td-ameritrade-streamer@0.0.1","gitHead":"8af607c9a7029b4688bb7075fcc7205eb6818f6e","_nodeVersion":"20.6.1","_npmVersion":"9.8.1","dist":{"integrity":"sha512-RMKqVB+zwLyaYCA5xhtq8N2+oBgLsuZYSDz8z+roDV3uOnt60AsGqAhFWDm16jKgnC7WlejTvac/WBOoeV5GLg==","shasum":"9e737d3c951c356ede85795f8d1ed65169b69dfc","tarball":"https://registry.npmjs.org/@allensarkisyan/schwab-td-ameritrade-streamer/-/schwab-td-ameritrade-streamer-0.0.1.tgz","fileCount":18,"unpackedSize":114023,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQCnwedXO+yREEI+YYSpTjFZ0IrYSZVdPpljbA9QQRer8QIhAOZqwh1EL0QS/fUEyX/NjW7cLZVBJK38OnCco1zw9Fes"}]},"_npmUser":{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"},"directories":{},"maintainers":[{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schwab-td-ameritrade-streamer_0.0.1_1695065371902_0.10019689044431779"},"_hasShrinkwrap":false},"0.0.2":{"name":"@allensarkisyan/schwab-td-ameritrade-streamer","version":"0.0.2","private":false,"type":"module","author":{"name":"Allen Sarkisyan"},"main":"./dist/cjs/td-streamer.js","module":"./dist/esm/td-streamer.js","types":"./index.d.ts","license":"MIT","homepage":"https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/","repository":{"type":"git","url":"git+https://github.com/allensarkisyan/schwab-td-ameritrade-streamer.git"},"bugs":{"url":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/issues"},"description":"Charles Schwab / TD Ameritrade - JavaScript / TypeScript Streamer - WebSocket Client","keywords":["TD Ameritrade","Charles Schwab","Stocks","Trading","Options","Futures","Market Data","Financial Data","Streaming Data","Fintech"],"scripts":{"build:types":"tsc --declaration --project tsconfig.types.json","build:esm":"tsc --project tsconfig.json --module esnext --outDir ./dist/esm","build:cjs":"tsc --project tsconfig.json --module commonjs --outDir ./dist/cjs","build":"npm run build:types && npm run build:esm && npm run build:cjs && prettier ./index.d.ts --write && cd dist && prettier . --write && npm run prepare-types","prepare-types":"./scripts/prepare_types.sh","test":"jest --verbose --coverage --testPathIgnorePatterns=/test/helpers.js --coveragePathIgnorePatterns=/test/helpers.js"},"dependencies":{"eventemitter3":"5.0.1","isomorphic-ws":"5.0.0","ws":"8.14.1","xml-js":"1.6.11"},"devDependencies":{"@types/node":"20.6.0","jest":"29.7.0","prettier":"3.0.3","typescript":"5.2.2","uWebSockets.js":"github:uNetworking/uWebSockets.js#v20.31.0"},"prettier":{"semi":true,"trailingComma":"all","singleQuote":true,"printWidth":80,"tabWidth":2,"arrowParens":"always"},"engines":{"node":">=16.0.0"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-streamer.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-streamer.js"},"default":"./dist/esm/td-streamer.js"},"./td-constants":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-constants.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-constants.js"},"default":"./dist/esm/td-constants.js"}},"_id":"@allensarkisyan/schwab-td-ameritrade-streamer@0.0.2","gitHead":"3359e125c12712dfe31fcb95ec5c6318cc47ae86","_nodeVersion":"20.6.1","_npmVersion":"9.8.1","dist":{"integrity":"sha512-M3n/8Kynv/P1j7U1JwYCWqnPB8ADGNoIBZ0JJhr4vgeaAbk+2IPJKlTrnWj7qo//WJTs1HpWDH45SVst2fdJdw==","shasum":"4e5055f39b4dfad8ec62daa9715f39a0bc945048","tarball":"https://registry.npmjs.org/@allensarkisyan/schwab-td-ameritrade-streamer/-/schwab-td-ameritrade-streamer-0.0.2.tgz","fileCount":18,"unpackedSize":114245,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEYCIQDr8BwNDXH53kMt2SNKzNdyF8zw+PtCn2SDXqbeSoqcNwIhAN8ZA028q3O2ZhuBHAd9Ui7qDEsUPJhBNU8vqmF++e8i"}]},"_npmUser":{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"},"directories":{},"maintainers":[{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schwab-td-ameritrade-streamer_0.0.2_1695067745051_0.9631983847158445"},"_hasShrinkwrap":false},"0.0.3":{"name":"@allensarkisyan/schwab-td-ameritrade-streamer","version":"0.0.3","private":false,"type":"module","author":{"name":"Allen Sarkisyan"},"main":"./dist/cjs/td-streamer.js","module":"./dist/esm/td-streamer.js","types":"./index.d.ts","license":"MIT","homepage":"https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/","repository":{"type":"git","url":"git+https://github.com/allensarkisyan/schwab-td-ameritrade-streamer.git"},"bugs":{"url":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/issues"},"description":"Charles Schwab / TD Ameritrade - JavaScript / TypeScript Streamer - WebSocket Client","keywords":["TD Ameritrade","Charles Schwab","TypeScript","Stocks","Trading","Options","Futures","Market Data","Financial Data","Streaming Data","Fintech"],"scripts":{"build:types":"tsc --declaration --project tsconfig.types.json","build:esm":"tsc --project tsconfig.json --module esnext --outDir ./dist/esm","build:cjs":"tsc --project tsconfig.json --module commonjs --outDir ./dist/cjs","build":"npm run build:types && npm run build:esm && npm run build:cjs && prettier ./index.d.ts --write && cd dist && prettier . --write && npm run prepare-types","prepare-types":"./scripts/prepare_types.sh","test":"jest --verbose --coverage --testPathIgnorePatterns=/test/helpers.js --coveragePathIgnorePatterns=/test/helpers.js"},"dependencies":{"eventemitter3":"5.0.1","isomorphic-ws":"5.0.0","ws":"8.14.1","xml-js":"1.6.11"},"devDependencies":{"@types/node":"20.6.0","jest":"29.7.0","prettier":"3.0.3","typescript":"5.2.2","uWebSockets.js":"github:uNetworking/uWebSockets.js#v20.31.0"},"prettier":{"semi":true,"trailingComma":"all","singleQuote":true,"printWidth":80,"tabWidth":2,"arrowParens":"always"},"engines":{"node":">=18.0.0"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-streamer.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-streamer.js"},"default":"./dist/esm/td-streamer.js"},"./td-constants":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-constants.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-constants.js"},"default":"./dist/esm/td-constants.js"}},"_id":"@allensarkisyan/schwab-td-ameritrade-streamer@0.0.3","gitHead":"394fe6998e1eb0fb00d2235ee2792b2801f0052e","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-St2oMfEszekPIgzMSOx89r9bPuoUL4GIozeATGXLoOzXPpvCakSiVNcgehtXQbJy4TPn7+X4rpJClxZJrkB7EA==","shasum":"905525ac3a90ea66431f4ccbaee1f8737e37db96","tarball":"https://registry.npmjs.org/@allensarkisyan/schwab-td-ameritrade-streamer/-/schwab-td-ameritrade-streamer-0.0.3.tgz","fileCount":23,"unpackedSize":122520,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allensarkisyan%2fschwab-td-ameritrade-streamer@0.0.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDyZSiAQd+3EPB/c55BRmiItxkfZYJqNS/dXNTMQblS/AIgVmAJiIQGbHnCoKK2n7nuW3rgmSoYMEBPbbqFxXLCiMo="}]},"_npmUser":{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"},"directories":{},"maintainers":[{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schwab-td-ameritrade-streamer_0.0.3_1695084711950_0.8763939031037324"},"_hasShrinkwrap":false},"0.0.4":{"name":"@allensarkisyan/schwab-td-ameritrade-streamer","version":"0.0.4","private":false,"type":"module","author":{"name":"Allen Sarkisyan"},"main":"./dist/cjs/td-streamer.js","module":"./dist/esm/td-streamer.js","types":"./index.d.ts","license":"MIT","homepage":"https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/","repository":{"type":"git","url":"git+https://github.com/allensarkisyan/schwab-td-ameritrade-streamer.git"},"bugs":{"url":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/issues"},"description":"Charles Schwab / TD Ameritrade - JavaScript / TypeScript Streamer - WebSocket Client","keywords":["TD Ameritrade","Charles Schwab","TypeScript","Stocks","Trading","Options","Futures","Market Data","Financial Data","Streaming Data","Fintech"],"scripts":{"build:types":"tsc --declaration --project tsconfig.types.json","build:esm":"tsc --project tsconfig.json --module esnext --outDir ./dist/esm","build:cjs":"tsc --project tsconfig.json --module commonjs --outDir ./dist/cjs","build":"npm run build:types && npm run build:esm && npm run build:cjs && prettier ./index.d.ts --write && cd dist && prettier . --write && npm run prepare-types","prepare-types":"./scripts/prepare_types.sh","test":"jest --coverage --testPathIgnorePatterns=/test/helpers.js --coveragePathIgnorePatterns=/test/helpers.js"},"dependencies":{"eventemitter3":"5.0.1","isomorphic-ws":"5.0.0","ws":"8.14.1","xml-js":"1.6.11"},"devDependencies":{"@types/node":"20.6.0","jest":"29.7.0","prettier":"3.0.3","typescript":"5.2.2","uWebSockets.js":"github:uNetworking/uWebSockets.js#v20.31.0"},"prettier":{"semi":true,"trailingComma":"all","singleQuote":true,"printWidth":80,"tabWidth":2,"arrowParens":"always"},"engines":{"node":">=18.0.0"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-streamer.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-streamer.js"},"default":"./dist/esm/td-streamer.js"},"./td-constants":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-constants.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-constants.js"},"default":"./dist/esm/td-constants.js"}},"_id":"@allensarkisyan/schwab-td-ameritrade-streamer@0.0.4","gitHead":"97c18ad23d396d2dddaed37c8b8bd8da975fb283","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-FBFRmL0KvPBeKXKJVOndhRnyhwP9SfOLZckbq3GioUwKRvqCiyjp2z9ppHFbEWXEmPUVFsbmJd7AtvGWLe5C3w==","shasum":"7178fab3e41f3858ecdf77cdf94b4731c07a8afc","tarball":"https://registry.npmjs.org/@allensarkisyan/schwab-td-ameritrade-streamer/-/schwab-td-ameritrade-streamer-0.0.4.tgz","fileCount":19,"unpackedSize":116432,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allensarkisyan%2fschwab-td-ameritrade-streamer@0.0.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDV5YjF+MbiNtt902izXP/DfWiG4OpJ5Rvmi9M1wGQ1XQIgSjVHxpkfhlBmPg+2VYdB2zT4dGlV8Kny5YNQNTXLiws="}]},"_npmUser":{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"},"directories":{},"maintainers":[{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schwab-td-ameritrade-streamer_0.0.4_1695123019036_0.12159587532832483"},"_hasShrinkwrap":false},"1.0.0":{"name":"@allensarkisyan/schwab-td-ameritrade-streamer","version":"1.0.0","private":false,"type":"module","author":{"name":"Allen Sarkisyan"},"main":"./dist/cjs/td-streamer.js","module":"./dist/esm/td-streamer.js","types":"./index.d.ts","license":"MIT","homepage":"https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/","repository":{"type":"git","url":"git+https://github.com/allensarkisyan/schwab-td-ameritrade-streamer.git"},"bugs":{"url":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/issues"},"description":"Charles Schwab / TD Ameritrade - JavaScript / TypeScript Streamer - WebSocket Client","keywords":["TD Ameritrade","Charles Schwab","TypeScript","Stocks","Trading","Options","Futures","Market Data","Financial Data","Streaming Data","Fintech"],"scripts":{"build:types":"tsc --declaration --project tsconfig.types.json","build:esm":"tsc --project tsconfig.json --module esnext --outDir ./dist/esm","build:cjs":"tsc --project tsconfig.json --module commonjs --outDir ./dist/cjs","build":"npm run build:types && npm run build:esm && npm run build:cjs && prettier ./index.d.ts --write && cd dist && prettier . --write && npm run prepare-types","prepare-types":"./scripts/prepare_types.sh","test":"jest --coverage --testPathIgnorePatterns=/test/helpers.js --coveragePathIgnorePatterns=/test/helpers.js"},"dependencies":{"eventemitter3":"5.0.1","isomorphic-ws":"5.0.0","ws":"8.14.2","xml-js":"1.6.11"},"devDependencies":{"@types/node":"20.6.0","jest":"29.7.0","prettier":"3.0.3","typescript":"5.2.2","uWebSockets.js":"github:uNetworking/uWebSockets.js#v20.31.0"},"prettier":{"semi":true,"trailingComma":"all","singleQuote":true,"printWidth":80,"tabWidth":2,"arrowParens":"always"},"engines":{"node":">=18.0.0"},"exports":{".":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-streamer.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-streamer.js"},"default":"./dist/esm/td-streamer.js"},"./td-constants":{"require":{"types":"./index.d.ts","default":"./dist/cjs/td-constants.js"},"import":{"types":"./index.d.ts","default":"./dist/esm/td-constants.js"},"default":"./dist/esm/td-constants.js"}},"_id":"@allensarkisyan/schwab-td-ameritrade-streamer@1.0.0","gitHead":"87f1c543205f5fad352008cb8c6e28ddf754f22b","_nodeVersion":"18.17.1","_npmVersion":"10.1.0","dist":{"integrity":"sha512-5ZAJm13mBGVdVrrAS8toZUebHg9gUo/77NNXDFmZg80cSHPv4Mt/750dd/vXWqDo27xMQD/7oUisXeJQAwvIJA==","shasum":"78fa32b28e92c8764d714a26266036c8db6c5fe3","tarball":"https://registry.npmjs.org/@allensarkisyan/schwab-td-ameritrade-streamer/-/schwab-td-ameritrade-streamer-1.0.0.tgz","fileCount":21,"unpackedSize":129762,"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@allensarkisyan%2fschwab-td-ameritrade-streamer@1.0.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCICUVyzuK6VmdFeHjw5YsafU7QIaQlp12FijBXHbYXMTzAiEA3X1ICTfIjM3Wf4sGUnpwFVhWISll+RRoP30KOJ9VfRA="}]},"_npmUser":{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"},"directories":{},"maintainers":[{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/schwab-td-ameritrade-streamer_1.0.0_1695274576937_0.028530125389191863"},"_hasShrinkwrap":false}},"time":{"created":"2023-09-18T19:29:31.778Z","0.0.1":"2023-09-18T19:29:32.172Z","modified":"2023-09-21T05:36:17.491Z","0.0.2":"2023-09-18T20:09:05.262Z","0.0.3":"2023-09-19T00:51:52.111Z","0.0.4":"2023-09-19T11:30:19.256Z","1.0.0":"2023-09-21T05:36:17.096Z"},"maintainers":[{"name":"allensarkisyan","email":"allensarkisyan@gmail.com"}],"description":"Charles Schwab / TD Ameritrade - JavaScript / TypeScript Streamer - WebSocket Client","homepage":"https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/","keywords":["TD Ameritrade","Charles Schwab","TypeScript","Stocks","Trading","Options","Futures","Market Data","Financial Data","Streaming Data","Fintech"],"repository":{"type":"git","url":"git+https://github.com/allensarkisyan/schwab-td-ameritrade-streamer.git"},"author":{"name":"Allen Sarkisyan"},"bugs":{"url":"https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/issues"},"license":"MIT","readme":"# JavaScript / TypeScript TD Ameritrade Streamer - WebSocket client\n\n[![npm (scoped)](https://img.shields.io/npm/v/@allensarkisyan/schwab-td-ameritrade-streamer)](https://npmjs.com/@allensarkisyan/schwab-td-ameritrade-streamer)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE.md)\n![Last Commit](https://img.shields.io/github/last-commit/allensarkisyan/schwab-td-ameritrade-streamer)\n![CodeQL](https://github.com/allensarkisyan/schwab-td-ameritrade-streamer/workflows/CodeQL/badge.svg?branch=main)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/allensarkisyan/schwab-td-ameritrade-streamer/badge)](https://securityscorecards.dev/viewer/?uri=github.com/allensarkisyan/schwab-td-ameritrade-streamer)\n[![OpenSSF Best Practices](https://www.bestpractices.dev/projects/7856/badge)](https://www.bestpractices.dev/projects/7856)\n![GitHub issues](https://img.shields.io/github/issues/allensarkisyan/schwab-td-ameritrade-streamer)\n![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/allensarkisyan/schwab-td-ameritrade-streamer/tests.yml?label=tests)\n[![codecov](https://codecov.io/gh/allensarkisyan/schwab-td-ameritrade-streamer/graph/badge.svg?token=Q1LGUU3M8Q)](https://codecov.io/gh/allensarkisyan/schwab-td-ameritrade-streamer)\n\n## Overview\n\nThis is an unofficial JavaScript/TypeScript WebSocket client implementation for the Charles Schwab / TD Ameritrade Streaming APIs. It allows developers to interact with TD Ameritrade's services and access streaming financial data programmatically. Please note that this implementation is not affiliated with or endorsed by Charles Schwab and/or TD Ameritrade.\n\n### TD Ameritrade API SDK Client [@allensarkisyan/schwab-td-ameritrade-api](https://github.com/allensarkisyan/schwab-td-ameritrade-api)\n\n## Features\n\n- MIT Licensed: This project is fully open source and available under the MIT License.\n- Cross-Platform: It is designed to work in both Node.js and Browser environments.\n- Strongly Typed: The codebase is strongly typed using JSDoc annotations for enhanced code quality and autocompletion support in TypeScript.\n- Implementation of Official Streaming Data Endpoints: [Official TD Ameritrade Streaming Data Documentation](https://developer.tdameritrade.com/content/streaming-data)\n- Derived from proprietary & internally developed quantitative trading and research software.\n\n## Installation\n\nTo install and use this TD Ameritrade Streamer client, you can add it to your project using npm or yarn:\n\n```bash\nnpm install @allensarkisyan/schwab-td-ameritrade-streamer\n```\n\n```bash\nyarn add @allensarkisyan/schwab-td-ameritrade-streamer\n```\n\n# Getting Started\nTo get started with this library, follow the documentation provided [here](https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/getting-started) for detailed instructions on how to set up and use the client to access TD Ameritrade's Streaming Endpoints.\n\n# See [Examples](https://allensarkisyan.github.io/schwab-td-ameritrade-streamer/EXAMPLES)\n\n## Import Module\n```javascript\n/** Using ECMAScript Modules */\nimport { TDAmeritradeStreamer } from '@allensarkisyan/schwab-td-ameritrade-streamer';\n\n/** Using CommonJS */\nconst { TDAmeritradeStreamer } = require('@allensarkisyan/schwab-td-ameritrade-streamer');\n```\n\n## TDAmeritradeStreamer / WebSocket Client Initialization\n```javascript\nimport { TDAmeritradeAPI } from '@allensarkisyan/schwab-td-ameritrade-api';\n\nconst tdApi = new TDAmeritradeAPI({\n  clientId: process.env.TD_AMERITRADE_CLIENT_ID,\n  callbackUrl: process.env.TD_AMERITRADE_CALLBACK_URL\n});\n\n/** Authenticate with TD Ameritrade and retrieve User Principals data to make a streaming connection */\n\n/** Get User Principals data */\nconst { data: principals } = await tdApi.getUserPrincipals();\n\n/** Configure Streamer Connection Options */\nconst streamerConnectionOptions = {\n  streamerSubscriptionKeys: principals.streamerSubscriptionKeys.keys,\n  quotes: principals.quotes,\n\n  accountId: principals.accounts[0].accountId,\n  company: principals.accounts[0].company,\n  segment: principals.accounts[0].segment,\n  accountCdDomainId: principals.accounts[0].accountCdDomainId,\n  primaryAccountId: principals.accounts[0].primaryAccountId,\n  tokenExpirationTime: principals.accounts[0].tokenExpirationTime,\n\n  streamerSocketUrl: principals.streamerInfo.streamerSocketUrl,\n  token: principals.streamerInfo.token,\n  userGroup: principals.streamerInfo.userGroup,\n  accessLevel: principals.streamerInfo.accessLevel,\n  tokenTimestamp: principals.streamerInfo.tokenTimestamp,\n  appId: principals.streamerInfo.appId,\n  acl: principals.streamerInfo.acl,\n}\n\n/** Quick configuration */\nconst streamerConnectionOptions = {\n  ...principals,\n  ...principals.accounts[0],\n  ...principals.streamerInfo,\n  streamerSubscriptionKeys: principals.streamerSubscriptionKeys.keys,\n};\n\n/** Create a new instance of TDAmeritradeStreamer */\nconst tdStreamer = new TDAmeritradeStreamer(streamerConnectionOptions);\n```\n\n#### createTDAmeritradeStreamer Factory\n```javascript\nimport { createTDAmeritradeStreamer } from '@allensarkisyan/schwab-td-ameritrade-streamer';\n\nconst tdStreamer = createTDAmeritradeStreamer(streamerConnectionOptions);\n```\n\n## License\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details.\n\nMIT License\n\nCopyright (c) 2023 Allen Sarkisyan\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n\n## Contributing\nContributions are welcome! If you have suggestions, bug reports, or would like to contribute to this project,\nplease open an issue or submit a pull request.\n\n## Author\n\n[Allen Sarkisyan](https://github.com/allensarkisyan)\n\nCopyright (c) 2019 - 2023 Allen Sarkisyan. XT-TX. All Rights Reserved.","readmeFilename":"README.md"}