310 Commits

Author SHA1 Message Date
Joel Wetzell 3410f72873 bump version 2026-06-21 12:56:37 -05:00
Joel Wetzell 7a9c414785 Merge pull request #241 from jwetzell/dependabot/npm_and_yarn/eslint-10.5.0 2026-06-21 10:41:59 -05:00
Joel Wetzell 3556fb7eb6 Merge pull request #242 from jwetzell/dependabot/npm_and_yarn/prettier-3.8.4 2026-06-21 10:41:46 -05:00
Joel Wetzell 063e0612ea Merge pull request #243 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.61.0 2026-06-21 10:41:34 -05:00
dependabot[bot] 5d4eb92204 Bump typescript-eslint from 8.60.1 to 8.61.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.60.1 to 8.61.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.61.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.61.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 12:33:48 +00:00
dependabot[bot] 45a672c89f Bump prettier from 3.8.3 to 3.8.4
Bumps [prettier](https://github.com/prettier/prettier) from 3.8.3 to 3.8.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.3...3.8.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 12:33:34 +00:00
dependabot[bot] 848d8c2f21 Bump eslint from 10.4.1 to 10.5.0
Bumps [eslint](https://github.com/eslint/eslint) from 10.4.1 to 10.5.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.4.1...v10.5.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-15 12:33:27 +00:00
Joel Wetzell c2b0047748 Merge pull request #240 from jwetzell/dependabot/npm_and_yarn/tsdown-0.22.2
Bump tsdown from 0.22.1 to 0.22.2
2026-06-10 11:26:57 -05:00
dependabot[bot] 964c87c555 Bump tsdown from 0.22.1 to 0.22.2
Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.22.1 to 0.22.2.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](https://github.com/rolldown/tsdown/compare/v0.22.1...v0.22.2)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.22.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-08 12:33:29 +00:00
Joel Wetzell 6b0605769b Merge pull request #236 from jwetzell/dependabot/npm_and_yarn/tsdown-0.22.1
Bump tsdown from 0.22.0 to 0.22.1
2026-06-03 21:15:41 -05:00
Joel Wetzell f7572ebcc4 Merge pull request #237 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.5.6
Bump eslint-plugin-prettier from 5.5.5 to 5.5.6
2026-06-03 21:15:25 -05:00
Joel Wetzell afc9ca250a Merge pull request #238 from jwetzell/dependabot/npm_and_yarn/eslint-10.4.1
Bump eslint from 10.4.0 to 10.4.1
2026-06-03 21:15:13 -05:00
Joel Wetzell 868c32f2c0 Merge pull request #239 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.60.1
Bump typescript-eslint from 8.60.0 to 8.60.1
2026-06-03 21:15:01 -05:00
dependabot[bot] 156de1ecb4 Bump typescript-eslint from 8.60.0 to 8.60.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.60.0 to 8.60.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.60.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 12:30:13 +00:00
dependabot[bot] 87bc731cb7 Bump eslint from 10.4.0 to 10.4.1
Bumps [eslint](https://github.com/eslint/eslint) from 10.4.0 to 10.4.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.4.0...v10.4.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.4.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 12:29:59 +00:00
dependabot[bot] 61208d8696 Bump eslint-plugin-prettier from 5.5.5 to 5.5.6
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.5.5 to 5.5.6.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.5...v5.5.6)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 12:29:51 +00:00
dependabot[bot] ae4eb8cc44 Bump tsdown from 0.22.0 to 0.22.1
Bumps [tsdown](https://github.com/rolldown/tsdown) from 0.22.0 to 0.22.1.
- [Release notes](https://github.com/rolldown/tsdown/releases)
- [Commits](https://github.com/rolldown/tsdown/compare/v0.22.0...v0.22.1)

---
updated-dependencies:
- dependency-name: tsdown
  dependency-version: 0.22.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-02 12:29:44 +00:00
Joel Wetzell af7b465971 Merge pull request #235 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.60.0
Bump typescript-eslint from 8.59.4 to 8.60.0
2026-05-27 15:29:15 -05:00
dependabot[bot] 5b3a526bb3 Bump typescript-eslint from 8.59.4 to 8.60.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.59.4 to 8.60.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.60.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.60.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-25 18:30:50 +00:00
Joel Wetzell 41397c22e4 Merge pull request #233 from jwetzell/dependabot/npm_and_yarn/eslint-10.4.0
Bump eslint from 10.3.0 to 10.4.0
2026-05-19 14:29:09 -05:00
Joel Wetzell 76b0ed3353 Merge pull request #234 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.59.4
Bump typescript-eslint from 8.59.3 to 8.59.4
2026-05-19 14:28:53 -05:00
dependabot[bot] 928843ff14 Bump typescript-eslint from 8.59.3 to 8.59.4
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.59.3 to 8.59.4.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.4/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.59.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 22:12:35 +00:00
dependabot[bot] 48b9e6286a Bump eslint from 10.3.0 to 10.4.0
Bumps [eslint](https://github.com/eslint/eslint) from 10.3.0 to 10.4.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.3.0...v10.4.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 22:12:23 +00:00
Joel Wetzell 720785fffa update node 2026-05-15 12:08:17 -05:00
Joel Wetzell 9d534161dd Merge pull request #224 from jwetzell/dependabot/npm_and_yarn/typescript-6.0.3
Bump typescript from 5.9.3 to 6.0.3
2026-05-15 12:07:56 -05:00
Joel Wetzell 69209e51a0 switch tests to mjs 2026-05-15 12:04:27 -05:00
dependabot[bot] 075c66c0c4 Bump typescript from 5.9.3 to 6.0.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.3 to 6.0.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.3...v6.0.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 6.0.3
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 16:58:40 +00:00
Joel Wetzell ef9e364e80 Merge pull request #232 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.59.3
Bump typescript-eslint from 8.59.1 to 8.59.3
2026-05-15 11:57:24 -05:00
Joel Wetzell b0bd30cf3b switch build to tsdown 2026-05-15 11:57:01 -05:00
dependabot[bot] 293309c225 Bump typescript-eslint from 8.59.1 to 8.59.3
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.59.1 to 8.59.3.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.3/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.59.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-11 19:43:23 +00:00
Joel Wetzell bb78037ca2 Merge pull request #231 from jwetzell/dependabot/npm_and_yarn/eslint-10.3.0
Bump eslint from 10.2.1 to 10.3.0
2026-05-06 08:26:42 -05:00
Joel Wetzell b51f286334 Merge pull request #230 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.59.1
Bump typescript-eslint from 8.58.2 to 8.59.1
2026-05-06 08:26:33 -05:00
Joel Wetzell 974d45827e Merge pull request #229 from jwetzell/dependabot/npm_and_yarn/globals-17.6.0
Bump globals from 17.5.0 to 17.6.0
2026-05-06 08:26:23 -05:00
dependabot[bot] a57995e999 Bump eslint from 10.2.1 to 10.3.0
Bumps [eslint](https://github.com/eslint/eslint) from 10.2.1 to 10.3.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.2.1...v10.3.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 15:56:11 +00:00
dependabot[bot] dffe8fda60 Bump typescript-eslint from 8.58.2 to 8.59.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.58.2 to 8.59.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.59.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.59.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 15:53:38 +00:00
dependabot[bot] 4c95cc38c9 Bump globals from 17.5.0 to 17.6.0
Bumps [globals](https://github.com/sindresorhus/globals) from 17.5.0 to 17.6.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.5.0...v17.6.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.6.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-04 15:53:24 +00:00
Joel Wetzell 60fc6989de Merge pull request #225 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.58.2
Bump typescript-eslint from 8.58.1 to 8.58.2
2026-04-27 08:53:06 -05:00
Joel Wetzell ea1e789ed7 Merge pull request #226 from jwetzell/dependabot/npm_and_yarn/prettier-3.8.3
Bump prettier from 3.8.2 to 3.8.3
2026-04-27 08:52:59 -05:00
Joel Wetzell ed10affeab Merge pull request #227 from jwetzell/dependabot/npm_and_yarn/eslint-10.2.1
Bump eslint from 10.2.0 to 10.2.1
2026-04-27 08:52:50 -05:00
dependabot[bot] c877780d43 Bump eslint from 10.2.0 to 10.2.1
Bumps [eslint](https://github.com/eslint/eslint) from 10.2.0 to 10.2.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.2.0...v10.2.1)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.2.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-20 14:29:14 +00:00
dependabot[bot] 6ed1ee75fb Bump prettier from 3.8.2 to 3.8.3
Bumps [prettier](https://github.com/prettier/prettier) from 3.8.2 to 3.8.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.2...3.8.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-20 14:29:07 +00:00
dependabot[bot] 491ad74761 Bump typescript-eslint from 8.58.1 to 8.58.2
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.58.1 to 8.58.2.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.2/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.58.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-20 14:29:00 +00:00
Joel Wetzell 1d5d03016e Merge pull request #221 from jwetzell/dependabot/npm_and_yarn/globals-17.5.0
Bump globals from 17.4.0 to 17.5.0
2026-04-13 08:43:00 -05:00
dependabot[bot] a0db39f0f1 Bump globals from 17.4.0 to 17.5.0
Bumps [globals](https://github.com/sindresorhus/globals) from 17.4.0 to 17.5.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.4.0...v17.5.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 13:40:55 +00:00
Joel Wetzell e249715f44 Merge pull request #222 from jwetzell/dependabot/npm_and_yarn/prettier-3.8.2
Bump prettier from 3.8.1 to 3.8.2
2026-04-13 08:39:54 -05:00
Joel Wetzell e1b30b617c Merge pull request #223 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.58.1
Bump typescript-eslint from 8.58.0 to 8.58.1
2026-04-13 08:39:46 -05:00
dependabot[bot] 69b62cea24 Bump typescript-eslint from 8.58.0 to 8.58.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.58.0 to 8.58.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.58.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 13:21:00 +00:00
dependabot[bot] c03953ac7f Bump prettier from 3.8.1 to 3.8.2
Bumps [prettier](https://github.com/prettier/prettier) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.8.1...3.8.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 13:20:46 +00:00
Joel Wetzell 999177854a Merge pull request #219 from jwetzell/dependabot/npm_and_yarn/eslint-10.2.0
Bump eslint from 10.1.0 to 10.2.0
2026-04-06 11:29:11 -05:00
Joel Wetzell e7c19f11c3 Merge pull request #220 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.58.0
Bump typescript-eslint from 8.57.2 to 8.58.0
2026-04-06 11:29:00 -05:00
dependabot[bot] 188276eb26 Bump typescript-eslint from 8.57.2 to 8.58.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.57.2 to 8.58.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.58.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.58.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 12:34:30 +00:00
dependabot[bot] d47e4b6525 Bump eslint from 10.1.0 to 10.2.0
Bumps [eslint](https://github.com/eslint/eslint) from 10.1.0 to 10.2.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.1.0...v10.2.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 12:34:18 +00:00
Joel Wetzell c22fa93c32 Merge pull request #218 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.57.2
Bump typescript-eslint from 8.57.1 to 8.57.2
2026-03-30 12:22:15 -05:00
dependabot[bot] 3972b872ea Bump typescript-eslint from 8.57.1 to 8.57.2
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.57.1 to 8.57.2.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.2/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.57.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-30 13:17:25 +00:00
Joel Wetzell bfb4d06a27 Merge pull request #215 from jwetzell/dependabot/npm_and_yarn/eslint-10.1.0
Bump eslint from 10.0.3 to 10.1.0
2026-03-23 11:19:38 -05:00
Joel Wetzell 6b8e88f685 Merge pull request #216 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.57.1
Bump typescript-eslint from 8.57.0 to 8.57.1
2026-03-23 11:19:28 -05:00
dependabot[bot] 5c9053c49b Bump typescript-eslint from 8.57.0 to 8.57.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.57.0 to 8.57.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.57.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-23 12:34:44 +00:00
dependabot[bot] 460a3a4c0a Bump eslint from 10.0.3 to 10.1.0
Bumps [eslint](https://github.com/eslint/eslint) from 10.0.3 to 10.1.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.0.3...v10.1.0)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-23 12:34:30 +00:00
Joel Wetzell 2c56132816 Merge pull request #214 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.57.0
Bump typescript-eslint from 8.56.1 to 8.57.0
2026-03-17 12:08:56 -05:00
dependabot[bot] c1fa93e7f3 Bump typescript-eslint from 8.56.1 to 8.57.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.56.1 to 8.57.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.57.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.57.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 12:34:48 +00:00
Joel Wetzell b2a82b3291 Merge pull request #213 from jwetzell/dependabot/npm_and_yarn/eslint-10.0.3
Bump eslint from 10.0.2 to 10.0.3
2026-03-11 10:10:22 -05:00
dependabot[bot] 3e7339f857 Bump eslint from 10.0.2 to 10.0.3
Bumps [eslint](https://github.com/eslint/eslint) from 10.0.2 to 10.0.3.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v10.0.2...v10.0.3)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.0.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-09 12:59:55 +00:00
Joel Wetzell 349a068605 Merge pull request #204 from jwetzell/dependabot/npm_and_yarn/eslint/js-10.0.1
Bump @eslint/js from 9.39.2 to 10.0.1
2026-03-03 08:46:27 -06:00
dependabot[bot] d673d8e1b5 Bump @eslint/js from 9.39.2 to 10.0.1
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.39.2 to 10.0.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/HEAD/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 10.0.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 14:45:26 +00:00
Joel Wetzell 376b406756 Merge pull request #211 from jwetzell/dependabot/npm_and_yarn/eslint-10.0.2
Bump eslint from 9.18.0 to 10.0.2
2026-03-03 08:44:16 -06:00
Joel Wetzell c16645b08d Update check-build.yml 2026-03-03 08:39:30 -06:00
dependabot[bot] 76581a3361 Bump eslint from 9.18.0 to 10.0.2
Bumps [eslint](https://github.com/eslint/eslint) from 9.18.0 to 10.0.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/compare/v9.18.0...v10.0.2)

---
updated-dependencies:
- dependency-name: eslint
  dependency-version: 10.0.2
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 14:36:07 +00:00
Joel Wetzell 70af26b977 Merge pull request #210 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.56.1
Bump typescript-eslint from 8.55.0 to 8.56.1
2026-03-03 08:35:11 -06:00
Joel Wetzell 5c36bff9d8 Merge pull request #212 from jwetzell/dependabot/npm_and_yarn/globals-17.4.0
Bump globals from 17.3.0 to 17.4.0
2026-03-03 08:35:01 -06:00
dependabot[bot] 1e83eada7f Bump globals from 17.3.0 to 17.4.0
Bumps [globals](https://github.com/sindresorhus/globals) from 17.3.0 to 17.4.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v17.3.0...v17.4.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 13:18:50 +00:00
dependabot[bot] 9e8fd7a328 Bump typescript-eslint from 8.55.0 to 8.56.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.55.0 to 8.56.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.56.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.56.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-02 13:18:36 +00:00
Joel Wetzell 99fd068dac Merge pull request #205 from jwetzell/dependabot/npm_and_yarn/rimraf-6.1.3
Bump rimraf from 6.1.2 to 6.1.3
2026-02-16 11:57:52 -06:00
Joel Wetzell 6abbf34919 Merge pull request #207 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.55.0
Bump typescript-eslint from 8.54.0 to 8.55.0
2026-02-16 11:57:43 -06:00
dependabot[bot] 0a869e0380 Bump typescript-eslint from 8.54.0 to 8.55.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.54.0 to 8.55.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.55.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.55.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 13:36:16 +00:00
dependabot[bot] acde66f68c Bump rimraf from 6.1.2 to 6.1.3
Bumps [rimraf](https://github.com/isaacs/rimraf) from 6.1.2 to 6.1.3.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-version: 6.1.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-16 13:35:55 +00:00
Joel Wetzell bcc211025a Merge pull request #200 from jwetzell/dependabot/npm_and_yarn/prettier-3.8.1
Bump prettier from 3.7.4 to 3.8.1
2026-02-02 09:36:51 -06:00
Joel Wetzell 3c3ee7c843 Merge pull request #196 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.5.5
Bump eslint-plugin-prettier from 5.5.4 to 5.5.5
2026-02-02 09:36:45 -06:00
dependabot[bot] afe35e46ab Bump prettier from 3.7.4 to 3.8.1
Bumps [prettier](https://github.com/prettier/prettier) from 3.7.4 to 3.8.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.7.4...3.8.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 15:33:09 +00:00
dependabot[bot] 4ad2aee7d1 Bump eslint-plugin-prettier from 5.5.4 to 5.5.5
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.5.4 to 5.5.5.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.4...v5.5.5)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 15:33:09 +00:00
Joel Wetzell 6f11dafa39 Merge pull request #202 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.54.0
Bump typescript-eslint from 8.50.0 to 8.54.0
2026-02-02 09:32:06 -06:00
Joel Wetzell efa8aa1975 Merge pull request #203 from jwetzell/dependabot/npm_and_yarn/globals-17.3.0
Bump globals from 16.5.0 to 17.3.0
2026-02-02 09:31:54 -06:00
dependabot[bot] b337c02aa3 Bump globals from 16.5.0 to 17.3.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.5.0 to 17.3.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.5.0...v17.3.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 17.3.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 13:55:28 +00:00
dependabot[bot] 1b4fc1fbf5 Bump typescript-eslint from 8.50.0 to 8.54.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.50.0 to 8.54.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.54.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.54.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-02-02 13:55:20 +00:00
Joel Wetzell a086e394dc Merge pull request #190 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.39.2
Bump @eslint/js from 9.39.1 to 9.39.2
2025-12-23 14:19:37 -06:00
Joel Wetzell 9c83da1aa7 Merge pull request #191 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.50.0
Bump typescript-eslint from 8.48.1 to 8.50.0
2025-12-23 14:19:28 -06:00
dependabot[bot] df9631c48d Bump typescript-eslint from 8.48.1 to 8.50.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.48.1 to 8.50.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.50.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.50.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-22 12:07:15 +00:00
dependabot[bot] a0b95903a5 Bump @eslint/js from 9.39.1 to 9.39.2
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.39.1 to 9.39.2.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.2/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.39.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 12:10:17 +00:00
Joel Wetzell 52ed1a1134 Merge pull request #184 from jwetzell/dependabot/npm_and_yarn/rimraf-6.1.2
Bump rimraf from 6.1.0 to 6.1.2
2025-12-11 15:03:49 -06:00
dependabot[bot] f54c3e202b Bump rimraf from 6.1.0 to 6.1.2
Bumps [rimraf](https://github.com/isaacs/rimraf) from 6.1.0 to 6.1.2.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v6.1.0...v6.1.2)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-version: 6.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-11 21:02:40 +00:00
Joel Wetzell 3292f20449 Merge pull request #187 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.48.1
Bump typescript-eslint from 8.46.4 to 8.48.1
2025-12-11 15:01:42 -06:00
Joel Wetzell 4b63f5d6f3 Merge pull request #188 from jwetzell/dependabot/npm_and_yarn/prettier-3.7.4
Bump prettier from 3.6.2 to 3.7.4
2025-12-11 15:01:31 -06:00
dependabot[bot] a2dfb93086 Bump prettier from 3.6.2 to 3.7.4
Bumps [prettier](https://github.com/prettier/prettier) from 3.6.2 to 3.7.4.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.6.2...3.7.4)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.7.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 12:09:57 +00:00
dependabot[bot] 4e49d5fca2 Bump typescript-eslint from 8.46.4 to 8.48.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.46.4 to 8.48.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.48.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 12:09:50 +00:00
Joel Wetzell c87d472a10 Merge pull request #171 from jwetzell/dependabot/npm_and_yarn/typescript-5.9.3
Bump typescript from 5.9.2 to 5.9.3
2025-11-17 08:59:59 -06:00
dependabot[bot] 94906dce03 Bump typescript from 5.9.2 to 5.9.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.9.2 to 5.9.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.9.2...v5.9.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.9.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 14:58:09 +00:00
jwetzell 7a7d2e2526 Merge pull request #182 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.46.4
Bump typescript-eslint from 8.46.3 to 8.46.4
2025-11-17 08:34:26 -06:00
dependabot[bot] 315e685fab Bump typescript-eslint from 8.46.3 to 8.46.4
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.46.3 to 8.46.4.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.4/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.46.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-17 12:16:15 +00:00
jwetzell 98dd7c4a35 Merge pull request #179 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.46.3
Bump typescript-eslint from 8.46.0 to 8.46.3
2025-11-13 14:27:27 -06:00
jwetzell c2c13865c3 Merge pull request #180 from jwetzell/dependabot/npm_and_yarn/globals-16.5.0
Bump globals from 16.4.0 to 16.5.0
2025-11-13 14:27:17 -06:00
jwetzell b65f48ce92 Merge pull request #181 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.39.1
Bump @eslint/js from 9.34.0 to 9.39.1
2025-11-13 14:27:09 -06:00
dependabot[bot] 2145f2a965 Bump @eslint/js from 9.34.0 to 9.39.1
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.34.0 to 9.39.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Commits](https://github.com/eslint/eslint/commits/v9.39.1/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.39.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 14:00:09 +00:00
dependabot[bot] c184273d34 Bump globals from 16.4.0 to 16.5.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.4.0 to 16.5.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.4.0...v16.5.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 14:00:03 +00:00
dependabot[bot] c799f2d75b Bump typescript-eslint from 8.46.0 to 8.46.3
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.46.0 to 8.46.3.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.3/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.46.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-10 13:59:57 +00:00
jwetzell 839d523953 Merge pull request #177 from jwetzell/dependabot/npm_and_yarn/rimraf-6.1.0
Bump rimraf from 6.0.1 to 6.1.0
2025-11-08 11:01:17 -06:00
dependabot[bot] d42d78a04d Bump rimraf from 6.0.1 to 6.1.0
Bumps [rimraf](https://github.com/isaacs/rimraf) from 6.0.1 to 6.1.0.
- [Changelog](https://github.com/isaacs/rimraf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/rimraf/compare/v6.0.1...v6.1.0)

---
updated-dependencies:
- dependency-name: rimraf
  dependency-version: 6.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-03 12:14:37 +00:00
jwetzell b107d21373 2.1.1 2025-10-12 13:07:34 -05:00
jwetzell 4f222d107c sync package-lock 2025-10-12 13:05:34 -05:00
jwetzell fce5019225 Merge pull request #162 from jwetzell/dependabot/npm_and_yarn/globals-16.4.0
Bump globals from 16.3.0 to 16.4.0
2025-10-12 13:01:48 -05:00
jwetzell 7e670872c1 Merge pull request #173 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.46.0
Bump typescript-eslint from 8.45.0 to 8.46.0
2025-10-12 13:01:15 -05:00
jwetzell 6f66ce0ca9 Merge pull request #172 from jwetzell/dependabot/npm_and_yarn/types/node-24.7.2
Bump @types/node from 24.7.0 to 24.7.2
2025-10-12 13:01:05 -05:00
jwetzell b5cb118c01 remove NODE_AUTH_TOKEN for new trusted publisher format 2025-10-12 12:59:28 -05:00
dependabot[bot] 23e0553963 Bump typescript-eslint from 8.45.0 to 8.46.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.45.0 to 8.46.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.46.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.46.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-12 17:56:13 +00:00
dependabot[bot] 0382d7be8b Bump @types/node from 24.7.0 to 24.7.2
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.7.0 to 24.7.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-12 17:56:02 +00:00
jwetzell e0a9fb97fd fix job name 2025-10-12 12:55:42 -05:00
jwetzell 2344389364 Merge pull request #170 from jwetzell/update-node
update node version
2025-10-12 12:54:55 -05:00
jwetzell dffee7781e set dependabot to only propose patch changes for @types 2025-10-12 12:53:45 -05:00
jwetzell 1d5ea2f15c update node version in nvmrc 2025-10-12 12:53:13 -05:00
dependabot[bot] 5e8b9fc305 Bump globals from 16.3.0 to 16.4.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.3.0 to 16.4.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.3.0...v16.4.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-12 17:50:35 +00:00
jwetzell 54a8da8565 Merge pull request #168 from jwetzell/dependabot/npm_and_yarn/types/node-24.7.0
Bump @types/node from 24.3.1 to 24.7.0
2025-10-12 12:49:32 -05:00
jwetzell 7a3c727b0f Merge pull request #169 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.45.0
Bump typescript-eslint from 8.42.0 to 8.45.0
2025-10-12 12:49:22 -05:00
dependabot[bot] b817a14320 Bump typescript-eslint from 8.42.0 to 8.45.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.42.0 to 8.45.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.45.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.45.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 12:52:12 +00:00
dependabot[bot] ee2a6086b9 Bump @types/node from 24.3.1 to 24.7.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.3.1 to 24.7.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-10-06 12:50:55 +00:00
jwetzell cd9032fb44 2.1.0 2025-09-16 21:48:13 -05:00
jwetzell cb61fe340e insert dummy package json so type is setup correctly when imported into a project 2025-09-16 21:46:01 -05:00
jwetzell cd125da49b don't use directory or extensionless imports 2025-09-16 21:45:32 -05:00
jwetzell 9cfd033380 Merge pull request #158 from jwetzell/dependabot/npm_and_yarn/types/node-24.3.1
Bump @types/node from 24.3.0 to 24.3.1
2025-09-10 15:09:52 -05:00
jwetzell 3403dee7d5 Merge pull request #159 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.42.0
Bump typescript-eslint from 8.40.0 to 8.42.0
2025-09-10 15:09:38 -05:00
dependabot[bot] 09c8f301c3 Bump typescript-eslint from 8.40.0 to 8.42.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.40.0 to 8.42.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.42.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.42.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 12:30:25 +00:00
dependabot[bot] 9880a6e27c Bump @types/node from 24.3.0 to 24.3.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.3.0 to 24.3.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.3.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-08 12:29:43 +00:00
jwetzell 4033ba6f83 Merge pull request #151 from jwetzell/dependabot/npm_and_yarn/types/node-24.3.0
Bump @types/node from 24.2.1 to 24.3.0
2025-09-02 09:28:16 -05:00
jwetzell 469dd941d8 Merge pull request #154 from jwetzell/dependabot/npm_and_yarn/typescript-5.9.2
Bump typescript from 5.8.3 to 5.9.2
2025-09-02 09:28:08 -05:00
dependabot[bot] acee908444 Bump @types/node from 24.2.1 to 24.3.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.2.1 to 24.3.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-02 14:03:00 +00:00
dependabot[bot] c3a73e386e Bump typescript from 5.8.3 to 5.9.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.8.3 to 5.9.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.8.3...v5.9.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.9.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-09-02 14:02:46 +00:00
jwetzell 8d8073b267 Merge pull request #155 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.34.0
Bump @eslint/js from 9.31.0 to 9.34.0
2025-09-02 09:01:39 -05:00
jwetzell 92d5983e3f Merge pull request #156 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.40.0
Bump typescript-eslint from 8.39.0 to 8.40.0
2025-09-02 09:01:31 -05:00
dependabot[bot] 69875ded6c Bump typescript-eslint from 8.39.0 to 8.40.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.39.0 to 8.40.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.40.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.40.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-26 00:15:19 +00:00
dependabot[bot] 5f8db9d26e Bump @eslint/js from 9.31.0 to 9.34.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.31.0 to 9.34.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.34.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.34.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-25 23:31:23 +00:00
jwetzell 4f53374834 Merge pull request #139 from jwetzell/dependabot/npm_and_yarn/globals-16.3.0
Bump globals from 16.2.0 to 16.3.0
2025-08-12 15:49:50 -05:00
jwetzell 8bc5213b44 Merge pull request #143 from jwetzell/dependabot/npm_and_yarn/eslint-config-prettier-10.1.8
Bump eslint-config-prettier from 10.1.5 to 10.1.8
2025-08-12 15:49:44 -05:00
dependabot[bot] 34de2a06db Bump eslint-config-prettier from 10.1.5 to 10.1.8
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 10.1.5 to 10.1.8.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.1.5...v10.1.8)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-version: 10.1.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 20:48:13 +00:00
dependabot[bot] cd24aa75fc Bump globals from 16.2.0 to 16.3.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.2.0 to 16.3.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.2.0...v16.3.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 20:48:11 +00:00
jwetzell d5a7fac9b5 Merge pull request #148 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.5.4
Bump eslint-plugin-prettier from 5.5.1 to 5.5.4
2025-08-12 15:47:17 -05:00
jwetzell 25f1330e3f Merge pull request #149 from jwetzell/dependabot/npm_and_yarn/types/node-24.2.1
Bump @types/node from 24.0.10 to 24.2.1
2025-08-12 15:47:09 -05:00
jwetzell 2dacf7f5af Merge pull request #150 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.39.0
Bump typescript-eslint from 8.36.0 to 8.39.0
2025-08-12 15:46:59 -05:00
dependabot[bot] 2831ab55d0 Bump typescript-eslint from 8.36.0 to 8.39.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.36.0 to 8.39.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.39.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.39.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 19:11:03 +00:00
dependabot[bot] f03dcf4314 Bump @types/node from 24.0.10 to 24.2.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 24.0.10 to 24.2.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.2.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 18:01:42 +00:00
dependabot[bot] a4a49a072c Bump eslint-plugin-prettier from 5.5.1 to 5.5.4
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.5.1 to 5.5.4.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.5.1...v5.5.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.4
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-11 17:44:28 +00:00
jwetzell 75b32055f3 Merge pull request #136 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.35.1 2025-07-12 20:37:41 -05:00
jwetzell 4a96c64a8d Merge pull request #138 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.30.1 2025-07-12 20:37:27 -05:00
jwetzell 96e1b69326 Merge pull request #132 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.5.1 2025-07-12 20:37:13 -05:00
jwetzell 32a3bfb4e4 Merge pull request #135 from jwetzell/dependabot/npm_and_yarn/prettier-3.6.2 2025-07-12 20:37:04 -05:00
dependabot[bot] 9c87505c53 Bump typescript-eslint from 8.32.1 to 8.35.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.32.1 to 8.35.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.35.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.35.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-13 01:35:33 +00:00
dependabot[bot] ec51f81597 Bump @eslint/js from 9.27.0 to 9.30.1
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.27.0 to 9.30.1.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.30.1/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.30.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-13 01:35:29 +00:00
dependabot[bot] 0f1d42e557 Bump eslint-plugin-prettier from 5.4.0 to 5.5.1
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.4.0 to 5.5.1.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.4.0...v5.5.1)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.5.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-13 01:35:27 +00:00
dependabot[bot] 6d7c62f8ee Bump prettier from 3.5.3 to 3.6.2
Bumps [prettier](https://github.com/prettier/prettier) from 3.5.3 to 3.6.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.5.3...3.6.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-version: 3.6.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-13 01:35:26 +00:00
jwetzell 5634d5ed7d Merge pull request #137 from jwetzell/dependabot/npm_and_yarn/types/node-24.0.10 2025-07-12 20:34:15 -05:00
dependabot[bot] c5d47e3e86 Bump @types/node from 22.15.21 to 24.0.10
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.21 to 24.0.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 24.0.10
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 15:04:18 +00:00
jwetzell fedd14840c Merge pull request #117 from jwetzell/dependabot/npm_and_yarn/globals-16.2.0 2025-05-26 12:03:29 -05:00
jwetzell b946235af1 Merge pull request #118 from jwetzell/dependabot/npm_and_yarn/types/node-22.15.21 2025-05-26 12:03:21 -05:00
dependabot[bot] 02ad9725d9 Bump @types/node from 22.15.19 to 22.15.21
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.19 to 22.15.21.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.15.21
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 13:22:13 +00:00
dependabot[bot] 8bc7947754 Bump globals from 16.1.0 to 16.2.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.1.0 to 16.2.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.1.0...v16.2.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-26 13:20:32 +00:00
jwetzell 668a0195c9 Update .nvmrc to latest Node LTS 2025-05-19 15:20:26 -05:00
jwetzell 804ab32113 Merge pull request #115 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.27.0
Bump @eslint/js from 9.26.0 to 9.27.0
2025-05-19 15:12:14 -05:00
dependabot[bot] 365701f0e9 Bump @eslint/js from 9.26.0 to 9.27.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.26.0 to 9.27.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.27.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.27.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 20:11:25 +00:00
jwetzell b673604842 Merge pull request #114 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.32.1
Bump typescript-eslint from 8.32.0 to 8.32.1
2025-05-19 15:10:28 -05:00
jwetzell 55b57bed36 Merge pull request #116 from jwetzell/dependabot/npm_and_yarn/types/node-22.15.19
Bump @types/node from 22.15.17 to 22.15.19
2025-05-19 15:10:17 -05:00
dependabot[bot] b18b309ab9 Bump @types/node from 22.15.17 to 22.15.19
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.17 to 22.15.19.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.15.19
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 12:23:24 +00:00
dependabot[bot] e778525cab Bump typescript-eslint from 8.32.0 to 8.32.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.32.0 to 8.32.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.32.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.32.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-19 12:23:10 +00:00
jwetzell ddb46086a6 Merge pull request #110 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.32.0
Bump typescript-eslint from 8.31.1 to 8.32.0
2025-05-12 08:53:36 -05:00
jwetzell e974f710fd Merge pull request #111 from jwetzell/dependabot/npm_and_yarn/globals-16.1.0
Bump globals from 16.0.0 to 16.1.0
2025-05-12 08:53:28 -05:00
jwetzell 736dc45e59 Merge pull request #112 from jwetzell/dependabot/npm_and_yarn/types/node-22.15.17
Bump @types/node from 22.15.12 to 22.15.17
2025-05-12 08:53:21 -05:00
jwetzell cd4bf19297 Merge pull request #113 from jwetzell/dependabot/npm_and_yarn/eslint-config-prettier-10.1.5
Bump eslint-config-prettier from 10.1.2 to 10.1.5
2025-05-12 08:53:14 -05:00
dependabot[bot] 7289336be9 Bump eslint-config-prettier from 10.1.2 to 10.1.5
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 10.1.2 to 10.1.5.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.1.2...v10.1.5)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-version: 10.1.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 12:29:37 +00:00
dependabot[bot] 298cf4c25d Bump @types/node from 22.15.12 to 22.15.17
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.15.12 to 22.15.17.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.15.17
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 12:26:53 +00:00
dependabot[bot] 3f8c719e5e Bump globals from 16.0.0 to 16.1.0
Bumps [globals](https://github.com/sindresorhus/globals) from 16.0.0 to 16.1.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v16.0.0...v16.1.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-version: 16.1.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 12:24:09 +00:00
dependabot[bot] 550e7444ed Bump typescript-eslint from 8.31.1 to 8.32.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.31.1 to 8.32.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.32.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.32.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-12 12:21:52 +00:00
jwetzell 4b0641aaef Merge pull request #104 from jwetzell/dependabot/npm_and_yarn/types/node-22.15.3
Bump @types/node from 22.14.1 to 22.15.3
2025-05-06 11:21:41 -05:00
jwetzell 447367e605 Merge pull request #106 from jwetzell/dependabot/npm_and_yarn/eslint-config-prettier-10.1.2
Bump eslint-config-prettier from 10.1.1 to 10.1.2
2025-05-06 11:21:34 -05:00
dependabot[bot] 0be865b2e2 Bump @types/node from 22.14.1 to 22.15.3
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.14.1 to 22.15.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.15.3
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 16:20:31 +00:00
dependabot[bot] 363cb52daf Bump eslint-config-prettier from 10.1.1 to 10.1.2
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 10.1.1 to 10.1.2.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.1.1...v10.1.2)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-version: 10.1.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-06 16:20:31 +00:00
jwetzell b7826af09e Merge pull request #107 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.4.0
Bump eslint-plugin-prettier from 5.2.6 to 5.4.0
2025-05-06 11:19:48 -05:00
jwetzell c9a485271f Merge pull request #108 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.31.1
Bump typescript-eslint from 8.30.1 to 8.31.1
2025-05-06 11:19:28 -05:00
jwetzell f773ea1873 Merge pull request #109 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.26.0
Bump @eslint/js from 9.25.0 to 9.26.0
2025-05-06 11:19:16 -05:00
dependabot[bot] 820b226e3a Bump @eslint/js from 9.25.0 to 9.26.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.25.0 to 9.26.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.26.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.26.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 12:57:54 +00:00
dependabot[bot] 2ee8f5fc8b Bump typescript-eslint from 8.30.1 to 8.31.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.30.1 to 8.31.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.31.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.31.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 12:57:40 +00:00
dependabot[bot] 6a39d95746 Bump eslint-plugin-prettier from 5.2.6 to 5.4.0
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.2.6 to 5.4.0.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.6...v5.4.0)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.4.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-05-05 12:57:18 +00:00
jwetzell 36ffc5896f Merge pull request #97 from jwetzell/dependabot/npm_and_yarn/typescript-5.8.3
Bump typescript from 5.8.2 to 5.8.3
2025-04-23 08:59:03 -05:00
jwetzell d2deda6f07 Merge pull request #99 from jwetzell/dependabot/npm_and_yarn/types/node-22.14.1
Bump @types/node from 22.13.14 to 22.14.1
2025-04-23 08:58:51 -05:00
dependabot[bot] b4994f9542 Bump typescript from 5.8.2 to 5.8.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.8.2 to 5.8.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release-publish.yml)
- [Commits](https://github.com/microsoft/TypeScript/commits)

---
updated-dependencies:
- dependency-name: typescript
  dependency-version: 5.8.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-23 13:58:07 +00:00
dependabot[bot] 57f7305f9d Bump @types/node from 22.13.14 to 22.14.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.14 to 22.14.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-version: 22.14.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-23 13:57:55 +00:00
jwetzell 30295e7359 Merge pull request #95 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.2.6
Bump eslint-plugin-prettier from 5.2.4 to 5.2.6
2025-04-23 08:57:16 -05:00
jwetzell 9fa5dd3787 Merge pull request #101 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.30.1
Bump typescript-eslint from 8.27.0 to 8.30.1
2025-04-23 08:56:55 -05:00
jwetzell 6ac10ab576 Merge pull request #102 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.25.0
Bump @eslint/js from 9.23.0 to 9.25.0
2025-04-23 08:56:39 -05:00
dependabot[bot] 46af9ea98e Bump @eslint/js from 9.23.0 to 9.25.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.23.0 to 9.25.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.25.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-version: 9.25.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 13:27:19 +00:00
dependabot[bot] 151c96c640 Bump typescript-eslint from 8.27.0 to 8.30.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.27.0 to 8.30.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.30.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-version: 8.30.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-21 13:15:03 +00:00
dependabot[bot] 4cefd6401d Bump eslint-plugin-prettier from 5.2.4 to 5.2.6
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.2.4 to 5.2.6.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.4...v5.2.6)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-version: 5.2.6
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-07 13:31:43 +00:00
jwetzell 5458ceaa6c Merge pull request #88 from jwetzell/dependabot/npm_and_yarn/types/node-22.13.13
Bump @types/node from 22.13.10 to 22.13.13
2025-03-30 13:13:22 -05:00
dependabot[bot] 784ae84161 Bump @types/node from 22.13.10 to 22.13.13
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.10 to 22.13.13.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-30 18:06:08 +00:00
jwetzell 9f3c447f4b Merge pull request #89 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.23.0
Bump @eslint/js from 9.22.0 to 9.23.0
2025-03-30 13:05:12 -05:00
jwetzell 79b9a051ba Merge pull request #90 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.27.0
Bump typescript-eslint from 8.26.1 to 8.27.0
2025-03-30 13:05:04 -05:00
jwetzell fc2d7e23e4 Merge pull request #91 from jwetzell/dependabot/npm_and_yarn/eslint-plugin-prettier-5.2.4
Bump eslint-plugin-prettier from 5.2.3 to 5.2.4
2025-03-30 13:04:52 -05:00
dependabot[bot] 7392b4cb65 Bump eslint-plugin-prettier from 5.2.3 to 5.2.4
Bumps [eslint-plugin-prettier](https://github.com/prettier/eslint-plugin-prettier) from 5.2.3 to 5.2.4.
- [Release notes](https://github.com/prettier/eslint-plugin-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-plugin-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-plugin-prettier/compare/v5.2.3...v5.2.4)

---
updated-dependencies:
- dependency-name: eslint-plugin-prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 13:14:42 +00:00
dependabot[bot] 7e2a1135c5 Bump typescript-eslint from 8.26.1 to 8.27.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.26.1 to 8.27.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.27.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 13:14:22 +00:00
dependabot[bot] ca6e7ee3e9 Bump @eslint/js from 9.22.0 to 9.23.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.22.0 to 9.23.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.23.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-24 13:14:04 +00:00
jwetzell de95036afa Merge pull request #87 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.26.1
Bump typescript-eslint from 8.26.0 to 8.26.1
2025-03-19 07:26:23 -05:00
dependabot[bot] dd58b99193 Bump typescript-eslint from 8.26.0 to 8.26.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.26.0 to 8.26.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-17 12:52:22 +00:00
jwetzell 7c31d92ad1 Merge pull request #81 from jwetzell/dependabot/npm_and_yarn/typescript-5.8.2
Bump typescript from 5.7.3 to 5.8.2
2025-03-10 09:02:04 -05:00
jwetzell cfe8ab4aa0 Merge pull request #84 from jwetzell/dependabot/npm_and_yarn/types/node-22.13.10
Bump @types/node from 22.13.8 to 22.13.10
2025-03-10 08:32:08 -05:00
dependabot[bot] ef8483941a Bump @types/node from 22.13.8 to 22.13.10
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.8 to 22.13.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 13:30:24 +00:00
dependabot[bot] 7e3a28ebc2 Bump typescript from 5.7.3 to 5.8.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.3 to 5.8.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.3...v5.8.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 13:27:45 +00:00
jwetzell f34cdd025b Merge pull request #83 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.22.0
Bump @eslint/js from 9.21.0 to 9.22.0
2025-03-10 08:26:46 -05:00
jwetzell 071af0bf4c Merge pull request #85 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.26.0
Bump typescript-eslint from 8.25.0 to 8.26.0
2025-03-10 08:26:38 -05:00
jwetzell 6bd486392f Merge pull request #86 from jwetzell/dependabot/npm_and_yarn/eslint-config-prettier-10.1.1
Bump eslint-config-prettier from 10.0.2 to 10.1.1
2025-03-10 08:26:29 -05:00
dependabot[bot] 8188d2db20 Bump eslint-config-prettier from 10.0.2 to 10.1.1
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 10.0.2 to 10.1.1.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.0.2...v10.1.1)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 12:49:36 +00:00
dependabot[bot] c9182ec1b0 Bump typescript-eslint from 8.25.0 to 8.26.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.25.0 to 8.26.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.26.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 12:49:32 +00:00
dependabot[bot] eafff30244 Bump @eslint/js from 9.21.0 to 9.22.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.21.0 to 9.22.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.22.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-10 12:49:15 +00:00
jwetzell 2a7e0c6f02 Merge pull request #78 from jwetzell/dependabot/npm_and_yarn/eslint-config-prettier-10.0.2
Bump eslint-config-prettier from 10.0.1 to 10.0.2
2025-03-03 08:29:08 -06:00
jwetzell a0b62378f5 Merge pull request #79 from jwetzell/dependabot/npm_and_yarn/prettier-3.5.3
Bump prettier from 3.5.2 to 3.5.3
2025-03-03 08:29:00 -06:00
jwetzell d6e12c9b30 Merge pull request #80 from jwetzell/dependabot/npm_and_yarn/types/node-22.13.8
Bump @types/node from 22.13.5 to 22.13.8
2025-03-03 08:28:50 -06:00
jwetzell 7aa348e7da Merge pull request #82 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.25.0
Bump typescript-eslint from 8.24.1 to 8.25.0
2025-03-03 08:28:39 -06:00
dependabot[bot] 1334149112 Bump typescript-eslint from 8.24.1 to 8.25.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.24.1 to 8.25.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.25.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 12:33:13 +00:00
dependabot[bot] a4964dd3df Bump @types/node from 22.13.5 to 22.13.8
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.5 to 22.13.8.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 12:32:55 +00:00
dependabot[bot] 9b7efedd0c Bump prettier from 3.5.2 to 3.5.3
Bumps [prettier](https://github.com/prettier/prettier) from 3.5.2 to 3.5.3.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.5.2...3.5.3)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 12:32:49 +00:00
dependabot[bot] 06fd468e76 Bump eslint-config-prettier from 10.0.1 to 10.0.2
Bumps [eslint-config-prettier](https://github.com/prettier/eslint-config-prettier) from 10.0.1 to 10.0.2.
- [Release notes](https://github.com/prettier/eslint-config-prettier/releases)
- [Changelog](https://github.com/prettier/eslint-config-prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/eslint-config-prettier/compare/v10.0.1...v10.0.2)

---
updated-dependencies:
- dependency-name: eslint-config-prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-03-03 12:32:44 +00:00
jwetzell cd215dad3e Merge pull request #73 from jwetzell/dependabot/npm_and_yarn/globals-16.0.0
Bump globals from 15.14.0 to 16.0.0
2025-02-24 13:30:43 -06:00
jwetzell 2351d97426 Merge pull request #74 from jwetzell/dependabot/npm_and_yarn/types/node-22.13.5
Bump @types/node from 22.13.1 to 22.13.5
2025-02-24 13:30:33 -06:00
dependabot[bot] 12eadee805 Bump @types/node from 22.13.1 to 22.13.5
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.13.1 to 22.13.5.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 17:29:01 +00:00
dependabot[bot] 95b798cfc8 Bump globals from 15.14.0 to 16.0.0
Bumps [globals](https://github.com/sindresorhus/globals) from 15.14.0 to 16.0.0.
- [Release notes](https://github.com/sindresorhus/globals/releases)
- [Commits](https://github.com/sindresorhus/globals/compare/v15.14.0...v16.0.0)

---
updated-dependencies:
- dependency-name: globals
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 17:28:45 +00:00
jwetzell cdb76ec89d Merge pull request #75 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.24.1
Bump typescript-eslint from 8.23.0 to 8.24.1
2025-02-24 11:27:44 -06:00
jwetzell b51e4c603f Merge pull request #76 from jwetzell/dependabot/npm_and_yarn/prettier-3.5.2
Bump prettier from 3.5.0 to 3.5.2
2025-02-24 11:27:35 -06:00
jwetzell 84cbc1d6d6 Merge pull request #77 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.21.0
Bump @eslint/js from 9.19.0 to 9.21.0
2025-02-24 11:27:25 -06:00
dependabot[bot] d7d552efb1 Bump @eslint/js from 9.19.0 to 9.21.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.19.0 to 9.21.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.21.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 13:01:10 +00:00
dependabot[bot] 89c9a7a579 Bump prettier from 3.5.0 to 3.5.2
Bumps [prettier](https://github.com/prettier/prettier) from 3.5.0 to 3.5.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.5.0...3.5.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 13:01:06 +00:00
dependabot[bot] 6081cd3700 Bump typescript-eslint from 8.23.0 to 8.24.1
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.23.0 to 8.24.1.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.24.1/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-24 13:00:56 +00:00
jwetzell 5d6868593a Merge pull request #66 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.23.0
Bump typescript-eslint from 8.21.0 to 8.23.0
2025-02-16 18:55:08 -06:00
jwetzell 201a8fc73e Merge pull request #67 from jwetzell/dependabot/npm_and_yarn/prettier-3.5.0
Bump prettier from 3.4.2 to 3.5.0
2025-02-16 18:55:00 -06:00
jwetzell 13bdcdefc2 Merge pull request #68 from jwetzell/dependabot/npm_and_yarn/types/node-22.13.1
Bump @types/node from 22.10.10 to 22.13.1
2025-02-16 18:54:50 -06:00
dependabot[bot] 6902fad9e7 Bump @types/node from 22.10.10 to 22.13.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.10 to 22.13.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 12:35:40 +00:00
dependabot[bot] 3710136a39 Bump prettier from 3.4.2 to 3.5.0
Bumps [prettier](https://github.com/prettier/prettier) from 3.4.2 to 3.5.0.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.4.2...3.5.0)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 12:35:34 +00:00
dependabot[bot] 6c3a251c89 Bump typescript-eslint from 8.21.0 to 8.23.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.21.0 to 8.23.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.23.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-10 12:35:29 +00:00
jwetzell 964ded00f6 Merge pull request #55 from jwetzell/dependabot/npm_and_yarn/typescript-5.7.3
Bump typescript from 5.7.2 to 5.7.3
2025-01-27 15:38:20 -06:00
jwetzell e21a629bf3 Merge pull request #60 from jwetzell/dependabot/npm_and_yarn/types/node-22.10.10
Bump @types/node from 22.10.7 to 22.10.10
2025-01-27 15:37:51 -06:00
dependabot[bot] bb1ba83ade Bump @types/node from 22.10.7 to 22.10.10
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.7 to 22.10.10.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 16:01:19 +00:00
dependabot[bot] 573290525b Bump typescript from 5.7.2 to 5.7.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.7.2 to 5.7.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.7.2...v5.7.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 16:01:18 +00:00
jwetzell 928dd7a58c Merge pull request #61 from jwetzell/dependabot/npm_and_yarn/typescript-eslint-8.21.0
Bump typescript-eslint from 8.20.0 to 8.21.0
2025-01-27 09:59:41 -06:00
jwetzell a1e4bba9d9 Merge pull request #62 from jwetzell/dependabot/npm_and_yarn/eslint/js-9.19.0
Bump @eslint/js from 9.18.0 to 9.19.0
2025-01-27 09:59:28 -06:00
dependabot[bot] a76bfa2830 Bump @eslint/js from 9.18.0 to 9.19.0
Bumps [@eslint/js](https://github.com/eslint/eslint/tree/HEAD/packages/js) from 9.18.0 to 9.19.0.
- [Release notes](https://github.com/eslint/eslint/releases)
- [Changelog](https://github.com/eslint/eslint/blob/main/CHANGELOG.md)
- [Commits](https://github.com/eslint/eslint/commits/v9.19.0/packages/js)

---
updated-dependencies:
- dependency-name: "@eslint/js"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 12:50:49 +00:00
dependabot[bot] 15a613adb5 Bump typescript-eslint from 8.20.0 to 8.21.0
Bumps [typescript-eslint](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/typescript-eslint) from 8.20.0 to 8.21.0.
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/typescript-eslint/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.21.0/packages/typescript-eslint)

---
updated-dependencies:
- dependency-name: typescript-eslint
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-27 12:50:44 +00:00
jwetzell ed8d586d59 bump node versino to v22.13.1 2025-01-25 09:42:09 -06:00
jwetzell 130c5f8b00 remove unused packet chunk decoder 2025-01-25 09:41:56 -06:00
jwetzell fd27e5246b Merge pull request #59 from jwetzell/speed-up
Performance enhancements
2025-01-25 09:39:41 -06:00
jwetzell ee10f43a15 add workflow to run tests on PR 2025-01-25 09:39:16 -06:00
jwetzell cb60d22549 switch to reused float array where possible 2025-01-22 23:21:36 -06:00
jwetzell 7d7b92678b reuse fixed size DataViews 2025-01-22 23:10:42 -06:00
jwetzell c33a2dfd33 reuse instances of TextDecoder/Encoder 2025-01-22 23:09:28 -06:00
jwetzell e4ed695eb9 more dataview replacements 2025-01-22 23:08:44 -06:00
jwetzell 070e32bb74 replace DataView with inline bit twiddling 2025-01-22 23:08:16 -06:00
jwetzell 40adeb920e Merge pull request #58 from jwetzell/tests
Add basic tests
2025-01-22 23:04:57 -06:00
jwetzell 9811ad1b7f add basic tests covering decoding chunks 2025-01-22 23:03:55 -06:00
jwetzell d03b61e193 add basic tests covering encoding chunks 2025-01-22 22:35:10 -06:00
jwetzell 58416cc543 Merge pull request #57 from jwetzell/dependabot/npm_and_yarn/types/node-22.10.7
Bump @types/node from 22.10.2 to 22.10.7
2025-01-20 09:57:09 -06:00
dependabot[bot] 4b117f1cd9 Bump @types/node from 22.10.2 to 22.10.7
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.2 to 22.10.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 15:55:12 +00:00
jwetzell cff97f0e74 pin dependencies 2025-01-20 09:54:56 -06:00
jwetzell 3f77e88c62 add new eslint 2025-01-20 09:53:59 -06:00
jwetzell 128b0a8a11 remove eslint 2025-01-20 09:47:17 -06:00
jwetzell 9533ed8848 clean out eslint comments 2025-01-20 09:46:18 -06:00
jwetzell fb130585cc update comment 2025-01-06 21:55:30 -06:00
jwetzell b179575311 fix readme 2025-01-06 21:54:26 -06:00
jwetzell d4e4a2229b 2.0.0 2025-01-06 21:50:27 -06:00
jwetzell 6580f66e91 align structure more with underlying chunk layout 2025-01-06 21:49:08 -06:00
jwetzell acac519e9a Merge pull request #53 from jwetzell/dependabot/npm_and_yarn/types/node-22.10.2
Bump @types/node from 22.10.1 to 22.10.2
2024-12-25 09:41:14 -06:00
jwetzell 03e47a98a0 clean up Decoder properties 2024-12-19 21:07:57 -06:00
jwetzell f77e8815d1 simpler logging on benchmark 2024-12-19 19:32:00 -06:00
jwetzell 86ea701a8e fix import on benchmark 2024-12-19 19:29:26 -06:00
dependabot[bot] c5ef7180c7 Bump @types/node from 22.10.1 to 22.10.2
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.10.1 to 22.10.2.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-16 12:13:45 +00:00
jwetzell 3a44b9d79e Merge pull request #52 from jwetzell/dependabot/npm_and_yarn/prettier-3.4.2
Bump prettier from 3.4.1 to 3.4.2
2024-12-15 22:48:15 -06:00
dependabot[bot] e7a03383e6 Bump prettier from 3.4.1 to 3.4.2
Bumps [prettier](https://github.com/prettier/prettier) from 3.4.1 to 3.4.2.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.4.1...3.4.2)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-09 12:16:15 +00:00
jwetzell 7edba830a5 Merge pull request #50 from jwetzell/dependabot/npm_and_yarn/prettier-3.4.1
Bump prettier from 3.3.3 to 3.4.1
2024-12-03 13:17:03 -06:00
dependabot[bot] 7749596859 Bump prettier from 3.3.3 to 3.4.1
Bumps [prettier](https://github.com/prettier/prettier) from 3.3.3 to 3.4.1.
- [Release notes](https://github.com/prettier/prettier/releases)
- [Changelog](https://github.com/prettier/prettier/blob/main/CHANGELOG.md)
- [Commits](https://github.com/prettier/prettier/compare/3.3.3...3.4.1)

---
updated-dependencies:
- dependency-name: prettier
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 15:44:57 +00:00
jwetzell b2ca7467ce Merge pull request #51 from jwetzell/dependabot/npm_and_yarn/types/node-22.10.1
Bump @types/node from 22.9.3 to 22.10.1
2024-12-02 09:43:29 -06:00
dependabot[bot] 431e9de9a1 Bump @types/node from 22.9.3 to 22.10.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.9.3 to 22.10.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 13:33:23 +00:00
jwetzell 934f572f38 Merge pull request #48 from jwetzell/dependabot/npm_and_yarn/types/node-22.9.3
Bump @types/node from 22.9.0 to 22.9.3
2024-11-25 13:45:06 -06:00
jwetzell f5c2de983f Merge pull request #49 from jwetzell/dependabot/npm_and_yarn/typescript-5.7.2
Bump typescript from 5.6.3 to 5.7.2
2024-11-25 13:44:56 -06:00
dependabot[bot] e367f1def9 Bump typescript from 5.6.3 to 5.7.2
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.3 to 5.7.2.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.3...v5.7.2)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 12:35:31 +00:00
dependabot[bot] 90f1deb43d Bump @types/node from 22.9.0 to 22.9.3
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.9.0 to 22.9.3.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 12:35:19 +00:00
jwetzell 23c4743ee8 Merge pull request #45 from jwetzell/dependabot/npm_and_yarn/types/node-22.9.0
Bump @types/node from 22.8.7 to 22.9.0
2024-11-18 08:22:49 -06:00
dependabot[bot] e132a22578 Bump @types/node from 22.8.7 to 22.9.0
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.8.7 to 22.9.0.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 12:28:11 +00:00
jwetzell 46368ad89b lint 2024-11-04 19:25:41 -06:00
jwetzell 4f846ccbd6 add eslint and format scripts 2024-11-04 19:25:19 -06:00
jwetzell ca2848f92a Merge pull request #44 from jwetzell/dependabot/npm_and_yarn/types/node-22.8.7
Bump @types/node from 22.8.1 to 22.8.7
2024-11-04 13:36:28 -06:00
dependabot[bot] a3f89ec528 Bump @types/node from 22.8.1 to 22.8.7
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.8.1 to 22.8.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 13:03:08 +00:00
jwetzell 01236ca7d3 Merge pull request #43 from jwetzell/dependabot/npm_and_yarn/types/node-22.8.1
Bump @types/node from 22.7.7 to 22.8.1
2024-10-28 09:59:32 -05:00
dependabot[bot] db436f34ed Bump @types/node from 22.7.7 to 22.8.1
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.7.7 to 22.8.1.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 12:27:51 +00:00
jwetzell c05e2447b0 bump version to 1.1.0 2024-10-25 12:12:02 -05:00
jwetzell 4abc3968c1 Merge pull request #42 from jwetzell/esm-and-cjs
add support for bundling both esm and cjs versions
2024-10-25 12:11:36 -05:00
jwetzell 06a974e557 fix import in examples 2024-10-25 12:10:45 -05:00
jwetzell 7a5b027c68 add support for bundling both esm and cjs versions 2024-10-25 12:09:56 -05:00
jwetzell afebfe75b1 update vscode settings 2024-10-23 16:50:19 -05:00
jwetzell 3e51737881 bump version to 1.0.0 2024-10-23 16:48:32 -05:00
jwetzell 3a249ff52d sync package-lock 2024-10-23 16:47:53 -05:00
jwetzell 9273f5a1a5 add examples from README to examples folder 2024-10-23 16:47:24 -05:00
jwetzell 82d4e17ec9 Merge pull request #41 from jwetzell/remove-buffer
replace NodeJS buffer with Uint8Array
2024-10-23 16:47:06 -05:00
jwetzell 8710e75a93 update example in README 2024-10-23 16:46:12 -05:00
jwetzell 4eaedcdfaa replace NodeJS buffer with Uint8Array 2024-10-23 16:38:16 -05:00
jwetzell 90e1bd09a0 Create LICENSE 2024-10-22 08:36:21 -05:00
jwetzell 1358158333 Change license to MIT in package.json 2024-10-22 08:36:00 -05:00
jwetzell 521ef895d8 Merge pull request #39 from jwetzell/dependabot/npm_and_yarn/typescript-5.6.3
Bump typescript from 5.6.2 to 5.6.3
2024-10-21 10:26:37 -05:00
jwetzell d0645d4c93 Merge pull request #40 from jwetzell/dependabot/npm_and_yarn/types/node-22.7.7
Bump @types/node from 22.7.4 to 22.7.7
2024-10-21 10:26:27 -05:00
dependabot[bot] 8d99c0a647 Bump @types/node from 22.7.4 to 22.7.7
Bumps [@types/node](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/node) from 22.7.4 to 22.7.7.
- [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases)
- [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/node)

---
updated-dependencies:
- dependency-name: "@types/node"
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-21 12:15:59 +00:00
dependabot[bot] efc69c9345 Bump typescript from 5.6.2 to 5.6.3
Bumps [typescript](https://github.com/microsoft/TypeScript) from 5.6.2 to 5.6.3.
- [Release notes](https://github.com/microsoft/TypeScript/releases)
- [Changelog](https://github.com/microsoft/TypeScript/blob/main/azure-pipelines.release.yml)
- [Commits](https://github.com/microsoft/TypeScript/compare/v5.6.2...v5.6.3)

---
updated-dependencies:
- dependency-name: typescript
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-14 13:05:46 +00:00
73 changed files with 3921 additions and 885 deletions
+3
View File
@@ -4,3 +4,6 @@ updates:
directory: '/'
schedule:
interval: 'weekly'
ignore:
- dependency-name: "@types*"
update-types: ["version-update:semver-major", "version-update:semver-minor"]
+1 -1
View File
@@ -4,7 +4,7 @@ on:
branches:
- main
jobs:
build-webui:
build:
runs-on: ubuntu-latest
steps:
- name: Check out repository
-2
View File
@@ -22,5 +22,3 @@ jobs:
- name: Publish to NPM
run: npm publish --provenance --access=public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
+25
View File
@@ -0,0 +1,25 @@
name: Run @jwetzell/posistagenet tests
on:
pull_request:
branches:
- main
paths:
- 'src/**'
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out repository
uses: actions/checkout@d632683dd7b4114ad314bca15554477dd762a938 # v4.2.0
- name: Set up Node.js
uses: actions/setup-node@0a44ba7841725637a19e28fa30b79a866c81b0a6 # v4.0.4
with:
node-version-file: '.nvmrc'
cache: 'npm'
cache-dependency-path: './package-lock.json'
- name: Install Node.js dependencies
run: npm ci
- run: npm run test
+1 -1
View File
@@ -1 +1 @@
v20.15.1
v24.15.0
+2 -2
View File
@@ -2,7 +2,7 @@
"editor.defaultFormatter": "esbenp.prettier-vscode",
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll": true,
"source.organizeImports": true
"source.fixAll": "explicit",
"source.organizeImports": "explicit"
}
}
+21
View File
@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2024 Joel Wetzell
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
+13 -5
View File
@@ -13,14 +13,22 @@ typesecript implementation of the [PosiStageNet protocol](https://github.com/vyv
const { Decoder } = require('@jwetzell/posistagenet')
const decoder = new Decoder()
const infoPacketBuffer = Buffer.from('5667348000000c0001000000000000000203010101000b00536572766572204e616d650200118001000d8000000900547261636b65722031','hex')
const dataPacketBuffer = Buffer.from('5567288000000c00010000000000000002030101010014800100108000000c000000803f0000803f0000803f','hex')
const infoPacketBuffer = new Uint8Array([
0x56, 0x67, 0x34, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01,
0x01, 0x01, 0x00, 0x0b, 0x00, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x02, 0x00, 0x11,
0x80, 0x01, 0x00, 0x0d, 0x80, 0x00, 0x00, 0x09, 0x00, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x20, 0x31,
]);
const dataPacketBuffer = new Uint8Array([
0x55, 0x67, 0x28, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01,
0x01, 0x01, 0x00, 0x14, 0x80, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00,
0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f,
]);
decoder.decode(infoPacketBuffer)
decoder.decode(dataPacketBuffer)
// the system_name from info packets if available
console.log(decoder.system_name)
console.log(decoder.systemName)
// map of trackers populated with any data that has been received
// this merges both info and data packet properties into one
@@ -49,12 +57,12 @@ const infoPackets = encoder.getInfoPackets(timestamp, trackers)
dataPackets.forEach((dataPacket)=>{
console.log('send packet somehow')
console.log(dataPacket.toString('hex'))
console.log(dataPacket)
})
infoPackets.forEach((infoPacket)=>{
console.log('send packet somehow')
console.log(infoPacket.toString('hex'))
console.log(infoPacket)
})
```
+6 -6
View File
@@ -1,4 +1,4 @@
const { Encoder, Decoder, Tracker } = require('./dist');
const { Encoder, Decoder, Tracker } = require('./dist/cjs');
const testSizes = [1, 10, 100, 1000];
@@ -40,7 +40,7 @@ function benchmark(trackerCount, iterations) {
for (let index = 0; index < iterations; index += 1) {
latestEncodedPackets = encoder.getDataPackets(Date.now(), trackers);
}
benchmarkResults.data.encode = `${(performance.now() - dataEncoderStart).toFixed(2)}ms`;
benchmarkResults.data.encode = performance.now() - dataEncoderStart;
const dataDecodedStart = performance.now();
for (let index = 0; index < iterations; index += 1) {
@@ -48,14 +48,14 @@ function benchmark(trackerCount, iterations) {
decoder.decode(packet);
});
}
benchmarkResults.data.decode = `${(performance.now() - dataDecodedStart).toFixed(2)}ms`;
benchmarkResults.data.decode = performance.now() - dataDecodedStart;
// INFO
const infoEncoderStart = performance.now();
for (let index = 0; index < iterations; index += 1) {
latestEncodedPackets = encoder.getInfoPackets(Date.now(), trackers);
}
benchmarkResults.info.encode = `${(performance.now() - infoEncoderStart).toFixed(2)}ms`;
benchmarkResults.info.encode = performance.now() - infoEncoderStart;
const infoDecodeStart = performance.now();
for (let index = 0; index < iterations; index += 1) {
@@ -63,9 +63,9 @@ function benchmark(trackerCount, iterations) {
decoder.decode(packet);
});
}
benchmarkResults.info.decode = `${(performance.now() - infoDecodeStart).toFixed(2)}ms`;
benchmarkResults.info.decode = performance.now() - infoDecodeStart;
console.table(benchmarkResults);
console.log(benchmarkResults);
}
testSizes.forEach((iterations) => {
+13
View File
@@ -0,0 +1,13 @@
import pluginJs from '@eslint/js';
import eslintPluginPrettierRecommended from 'eslint-plugin-prettier/recommended';
import globals from 'globals';
import tseslint from 'typescript-eslint';
/** @type {import('eslint').Linter.Config[]} */
export default [
{ files: ['**/*.{js,mjs,cjs,ts}'] },
{ languageOptions: { globals: { ...globals.browser, ...globals.node } } },
pluginJs.configs.recommended,
...tseslint.configs.recommended,
eslintPluginPrettierRecommended,
];
+24
View File
@@ -0,0 +1,24 @@
const { Decoder } = require('../dist/cjs');
const decoder = new Decoder();
const infoPacketBuffer = new Uint8Array([
0x56, 0x67, 0x34, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01,
0x01, 0x01, 0x00, 0x0b, 0x00, 0x53, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x4e, 0x61, 0x6d, 0x65, 0x02, 0x00, 0x11,
0x80, 0x01, 0x00, 0x0d, 0x80, 0x00, 0x00, 0x09, 0x00, 0x54, 0x72, 0x61, 0x63, 0x6b, 0x65, 0x72, 0x20, 0x31,
]);
const dataPacketBuffer = new Uint8Array([
0x55, 0x67, 0x28, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x01,
0x01, 0x01, 0x00, 0x14, 0x80, 0x01, 0x00, 0x10, 0x80, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x00, 0x00,
0x80, 0x3f, 0x00, 0x00, 0x80, 0x3f,
]);
decoder.decode(infoPacketBuffer);
decoder.decode(dataPacketBuffer);
// the system_name from info packets if available
console.log(decoder.systemName);
// map of trackers populated with any data that has been received
// this merges both info and data packet properties into one
console.log(decoder.trackers);
+26
View File
@@ -0,0 +1,26 @@
const { Encoder, Tracker } = require('../dist/cjs');
const encoder = new Encoder('Server Name', 2, 3); // server name, version high, version low
const trackers = [];
const tracker = new Tracker(1, 'Tracker 1'); // id, name
tracker.setPos(1.0, 1.0, 1.0); // x, y, z
trackers.push(tracker);
const timestamp = 1;
// these two calls return an array of Buffers due to potential splitting that might take place because of max UDP packet size
const dataPackets = encoder.getDataPackets(timestamp, trackers);
const infoPackets = encoder.getInfoPackets(timestamp, trackers);
dataPackets.forEach((dataPacket) => {
console.log('send packet somehow');
console.log(dataPacket);
});
infoPackets.forEach((infoPacket) => {
console.log('send packet somehow');
console.log(infoPacket);
});
+8 -10
View File
@@ -1,6 +1,6 @@
// recreation of psn_client.cpp example from https://github.com/vyv/psn-cpp
const dgram = require('dgram');
const { Decoder } = require('../dist');
const { Decoder } = require('../dist/cjs');
const client = dgram.createSocket('udp4');
const decoder = new Decoder();
@@ -23,18 +23,18 @@ setInterval(() => {
}
Object.entries(decoder.trackers).forEach(([trackerId, tracker]) => {
const trackerName = decoder.trackers[trackerId]?.tracker_name?.tracker_name;
const trackerName = decoder.trackers[trackerId]?.name;
console.log(`Tracker - id: ${trackerId} | name: ${trackerName || ''}`);
if (tracker.pos) {
console.log(`\tpos: ${tracker.pos.pos_x}, ${tracker.pos.pos_y}, ${tracker.pos.pos_z}`);
console.log(`\tpos: ${tracker.pos.x}, ${tracker.pos.x}, ${tracker.pos.x}`);
}
if (tracker.speed) {
console.log(`\tspeed: ${tracker.speed.speed_x}, ${tracker.speed.speed_y}, ${tracker.speed.speed_z}`);
console.log(`\tspeed: ${tracker.speed.x}, ${tracker.speed.y}, ${tracker.speed.z}`);
}
if (tracker.ori) {
console.log(`\tori: ${tracker.ori.ori_x}, ${tracker.ori.ori_y}, ${tracker.ori.ori_z}`);
console.log(`\tori: ${tracker.ori.x}, ${tracker.ori.y}, ${tracker.ori.z}`);
}
if (tracker.status) {
@@ -42,17 +42,15 @@ setInterval(() => {
}
if (tracker.accel) {
console.log(`\taccel: ${tracker.accel.accel_x}, ${tracker.accel.accel_y}, ${tracker.accel.accel_z}`);
console.log(`\taccel: ${tracker.accel.x}, ${tracker.accel.y}, ${tracker.accel.z}`);
}
if (tracker.trgtpos) {
console.log(
`\ttrgtpos: ${tracker.trgtpos.trgtpos_x}, ${tracker.trgtpos.trgtpos_y}, ${tracker.trgtpos.trgtpos_z}`
);
console.log(`\ttrgtpos: ${tracker.trgtpos.x}, ${tracker.trgtpos.y}, ${tracker.trgtpos.z}`);
}
if (tracker.timestamp) {
console.log(`\ttimestamp: ${tracker.timestamp.tracker_timestamp}`);
console.log(`\ttimestamp: ${tracker.timestamp}`);
}
});
}, 1000);
+5 -13
View File
@@ -1,10 +1,9 @@
// recreation of psn_server.cpp example from https://github.com/vyv/psn-cpp
const dgram = require('dgram');
const { Encoder, Tracker, Decoder } = require('../dist');
const { Encoder, Tracker } = require('../dist/cjs');
const client = dgram.createSocket('udp4');
const encoder = new Encoder('Test PSN Server', 2, 0);
const decoder = new Decoder();
const trackers = [];
@@ -40,25 +39,18 @@ setInterval(() => {
trackers[index].setTimestamp(timestamp);
});
console.log(`Sending Data Packets`);
const dataPackets = encoder.getDataPackets(timestamp, trackers);
dataPackets.forEach((packet, index) => {
const decodedPacket = decoder.decode(packet);
console.log(
`Sending PSN_DATA_PACKET : Frame Id = ${decodedPacket.packet_header.frame_id} , Packet Count = ${index + 1}`
);
dataPackets.forEach((packet) => {
client.send(packet, 56565, '236.10.10.10');
});
timestamp += 1;
}, 5);
setInterval(() => {
console.log(`Sending Info Packets`);
const infoPackets = encoder.getInfoPackets(timestamp, trackers);
infoPackets.forEach((packet, index) => {
const decodedPacket = decoder.decode(packet);
console.log(
`Sending PSN_INFO_PACKET : Frame Id = ${decodedPacket.packet_header.frame_id} , Packet Count = ${index + 1}`
);
infoPackets.forEach((packet) => {
client.send(packet, 56565, '236.10.10.10');
});
}, 500);
+2066 -310
View File
File diff suppressed because it is too large Load Diff
+30 -10
View File
@@ -1,15 +1,28 @@
{
"name": "@jwetzell/posistagenet",
"version": "0.4.7",
"version": "2.1.2",
"description": "",
"main": "dist/index.js",
"types": "dist/index.d.ts",
"main": "./dist/index.cjs",
"module": "./dist/index.mjs",
"types": "./dist/index.d.cts",
"exports": {
".": {
"import": "./dist/index.mjs",
"require": "./dist/index.cjs"
},
"./package.json": "./package.json"
},
"scripts": {
"prebuild": "rimraf dist",
"build": "tsc",
"build": "tsdown",
"example:client": "node examples/psn_client.js",
"example:server": "node examples/psn_server.js",
"prepublishOnly": "npm run build"
"prepublishOnly": "npm run build",
"lint:check": "eslint ./src",
"format:check": "prettier ./ --check",
"format:write": "prettier ./ --write",
"pretest": "npm run build",
"test": "node --test --experimental-test-coverage"
},
"files": [
"dist"
@@ -20,11 +33,18 @@
"url": "https://jwetzell.com"
},
"repository": "https://github.com/jwetzell/psn-js",
"license": "ISC",
"license": "MIT",
"devDependencies": {
"@types/node": "22.7.4",
"prettier": "3.3.3",
"rimraf": "6.0.1",
"typescript": "5.6.2"
"@eslint/js": "10.0.1",
"@types/node": "24.7.2",
"eslint": "10.5.0",
"eslint-config-prettier": "10.1.8",
"eslint-plugin-prettier": "5.5.6",
"globals": "17.6.0",
"prettier": "3.8.4",
"rimraf": "6.1.3",
"tsdown": "0.22.2",
"typescript": "6.0.3",
"typescript-eslint": "8.61.0"
}
}
+58 -70
View File
@@ -1,33 +1,38 @@
import { Decoders } from '.';
import { DataPacketChunk, InfoPacketChunk, InfoTrackerChunk, PacketHeaderChunk } from './models';
import { Decoders } from './index.js';
import {
type DataPacketChunk,
type InfoPacketChunk,
Tracker,
TrackerFromData,
TrackerFromInfo,
} from './models/index.js';
export class Decoder {
// TODO(jwetzell): check if these last packet headers are necessary to hold on to
lastInfoPacketHeader?: PacketHeaderChunk;
lastDataPacketHeader?: PacketHeaderChunk;
infoPacketFrames: { [key: number]: InfoPacketChunk[] } = {};
dataPacketFrames: { [key: number]: DataPacketChunk[] } = {};
trackers: { [key: string]: InfoTrackerChunk } = {};
trackers: { [key: string]: Tracker } = {};
system_name: string = '';
systemName: string = '';
constructor() {}
updateInfo(framePackets: InfoPacketChunk[]) {
framePackets.forEach((packet) => {
if (packet.system_name) {
this.system_name = packet.system_name.system_name;
if (packet.data.systemName?.data) {
this.systemName = packet.data.systemName?.data.systemName;
}
if (packet.tracker_list?.trackers) {
Object.entries(packet.tracker_list.trackers).forEach(([trackerId, tracker]) => {
if (!this.trackers[trackerId]) {
this.trackers[trackerId] = {};
if (packet.data.trackerList?.data) {
packet.data.trackerList.data.trackers.forEach((infoTrackerChunk) => {
if (!this.trackers[infoTrackerChunk.chunk.header.id]) {
const tracker = TrackerFromInfo(infoTrackerChunk);
if (tracker) {
this.trackers[infoTrackerChunk.chunk.header.id] = tracker;
}
}
this.trackers[trackerId].tracker_name = tracker.tracker_name;
const tracker = this.trackers[infoTrackerChunk.chunk.header.id];
tracker.updateInfo(infoTrackerChunk);
});
}
});
@@ -35,97 +40,80 @@ export class Decoder {
updateData(framePackets: DataPacketChunk[]) {
framePackets.forEach((packet) => {
if (packet.tracker_list) {
Object.entries(packet.tracker_list.trackers).forEach(([trackerId, tracker]) => {
this.trackers[trackerId] = {
...this.trackers[trackerId],
...tracker,
};
if (packet.data.trackerList) {
packet.data.trackerList?.data.trackers.forEach((dataTrackerChunk) => {
if (!this.trackers[dataTrackerChunk.chunk.header.id]) {
const tracker = TrackerFromData(dataTrackerChunk);
if (tracker) {
this.trackers[dataTrackerChunk.chunk.header.id] = tracker;
}
}
const tracker = this.trackers[dataTrackerChunk.chunk.header.id];
tracker.updateData(dataTrackerChunk);
});
}
});
}
// TODO(jwetzell): add invalid frame id decoding. Scenario where a frame id is reused before one is complete
decode(packetBuf: Buffer): DataPacketChunk | InfoPacketChunk | undefined {
const packet = Decoders.Packet(packetBuf);
decode(packetBuf: Uint8Array) {
const packet = Decoders.Chunk(packetBuf);
if (packet === undefined) {
return packet;
}
if (packet.id === 0x6756) {
const infoPacket = packet as InfoPacketChunk;
if (infoPacket && infoPacket.has_subchunks) {
const currentInfoPacketHeader = infoPacket.packet_header;
if (packet.header.id === 0x6756) {
const infoPacket = Decoders.InfoPacketChunk(packetBuf);
if (infoPacket && infoPacket.chunk.header.hasSubchunks) {
const currentInfoPacketHeader = infoPacket.data.packetHeader;
if (!currentInfoPacketHeader) {
// NOTE(jwetzell): not sure that info packets without a header subchunk are valid?
throw new Error('malformed packet');
}
const systemSubChunk = infoPacket.system_name;
const systemSubChunk = infoPacket.data.systemName;
if (!systemSubChunk) {
// NOTE(jwetzell): not sure that info packets without a system subchunk are valid?
throw new Error('malformed packet');
}
if (currentInfoPacketHeader.frame_id) {
if (this.infoPacketFrames[currentInfoPacketHeader.frame_id] === undefined) {
this.infoPacketFrames[currentInfoPacketHeader.frame_id] = [];
if (currentInfoPacketHeader.data.frameId) {
if (this.infoPacketFrames[currentInfoPacketHeader.data.frameId] === undefined) {
this.infoPacketFrames[currentInfoPacketHeader.data.frameId] = [];
}
this.infoPacketFrames[currentInfoPacketHeader.frame_id].push(infoPacket);
this.infoPacketFrames[currentInfoPacketHeader.data.frameId].push(infoPacket);
if (
this.infoPacketFrames[currentInfoPacketHeader.frame_id].length ===
currentInfoPacketHeader.frame_packet_count
this.infoPacketFrames[currentInfoPacketHeader.data.frameId].length ===
currentInfoPacketHeader.data.framePacketCount
) {
this.updateInfo(this.infoPacketFrames[currentInfoPacketHeader.frame_id]);
delete this.infoPacketFrames[currentInfoPacketHeader.frame_id];
this.updateInfo(this.infoPacketFrames[currentInfoPacketHeader.data.frameId]);
delete this.infoPacketFrames[currentInfoPacketHeader.data.frameId];
}
}
this.lastInfoPacketHeader = currentInfoPacketHeader;
}
} else if (packet.id === 0x6755) {
const dataPacket = packet as DataPacketChunk;
if (dataPacket.has_subchunks) {
const currentDataPacketHeader = dataPacket.packet_header;
} else if (packet.header.id === 0x6755) {
const dataPacket = Decoders.DataPacketChunk(packetBuf);
if (dataPacket.chunk.header.hasSubchunks) {
const currentDataPacketHeader = dataPacket.data.packetHeader;
if (!currentDataPacketHeader) {
// NOTE(jwetzell): not sure that info packets without a header subchunk are valid?
throw new Error('malformed packet');
}
if (currentDataPacketHeader.frame_id) {
if (this.dataPacketFrames[currentDataPacketHeader.frame_id] === undefined) {
this.dataPacketFrames[currentDataPacketHeader.frame_id] = [];
if (currentDataPacketHeader.data.frameId) {
if (this.dataPacketFrames[currentDataPacketHeader.data.frameId] === undefined) {
this.dataPacketFrames[currentDataPacketHeader.data.frameId] = [];
}
this.dataPacketFrames[currentDataPacketHeader.frame_id].push(dataPacket);
this.dataPacketFrames[currentDataPacketHeader.data.frameId].push(dataPacket);
if (
this.dataPacketFrames[currentDataPacketHeader.frame_id].length ===
currentDataPacketHeader.frame_packet_count
this.dataPacketFrames[currentDataPacketHeader.data.frameId].length ===
currentDataPacketHeader.data.framePacketCount
) {
this.updateData(this.dataPacketFrames[currentDataPacketHeader.frame_id]);
delete this.dataPacketFrames[currentDataPacketHeader.frame_id];
this.updateData(this.dataPacketFrames[currentDataPacketHeader.data.frameId]);
delete this.dataPacketFrames[currentDataPacketHeader.data.frameId];
}
}
this.lastDataPacketHeader = currentDataPacketHeader;
}
}
return packet;
}
// NOTE(jwetzell): gets merged set of tracker field keys minus the guaranteed properties
getTrackerFields(): Set<string> {
const keys = new Set(
Object.values(this.trackers)
.map((tracker) => Object.keys(tracker))
.flat(1)
);
// NOTE(jwetzell): remove fields that definitely exist
keys.delete('id');
keys.delete('has_subchunks');
keys.delete('data_len');
keys.delete('chunk_data');
return keys;
}
}
+24 -13
View File
@@ -1,18 +1,29 @@
import { Chunk } from '../models/chunk';
import type { Chunk } from '../models/chunk.js';
export default (buffer: Buffer, dataDecoder: Function): Chunk => {
let offset = 0;
const chunk: Chunk = {};
chunk.id = buffer.readUInt16LE(offset);
offset += 2;
export default (buffer: Uint8Array): Chunk => {
if (buffer.length < 4) {
throw new Error('Chunk buffer must be at least 4 bytes');
}
// NOTE(jwetzell): this data is split up as 1 bit for has_subchunks and 15 bits for the data_len
const combinedLengthAndFlag = buffer.readUInt16LE(offset);
chunk.has_subchunks = combinedLengthAndFlag > 32768;
chunk.data_len = chunk.has_subchunks ? combinedLengthAndFlag - 32768 : combinedLengthAndFlag;
offset += 2;
chunk.chunk_data = buffer.subarray(offset, offset + chunk.data_len);
const id = (buffer[1] << 8) + buffer[0];
// NOTE(jwetzell): this data is split up as 1 bit for hasSubchunks and 15 bits for the dataLen
const combinedLengthAndFlag = (buffer[3] << 8) + buffer[2];
const hasSubchunks = combinedLengthAndFlag > 32768;
const dataLen = hasSubchunks ? combinedLengthAndFlag - 32768 : combinedLengthAndFlag;
const header = {
id,
dataLen,
hasSubchunks,
};
const chunkData = buffer.subarray(4, 4 + header.dataLen);
const chunk = {
chunkData,
header,
};
dataDecoder(chunk);
return chunk;
};
+22 -15
View File
@@ -1,25 +1,29 @@
import { Decoders } from '..';
import { Constants } from '../../constants';
import { DataPacketChunk } from '../../models/data/data-packet-chunk';
import { Constants } from '../../constants.js';
import type { DataPacketChunk, DataPacketChunkData } from '../../models/data/data-packet-chunk.js';
import { Decoders } from '../index.js';
function decodeDataPacketChunk(dataPacketChunk: DataPacketChunk) {
if (dataPacketChunk.has_subchunks && dataPacketChunk.chunk_data && dataPacketChunk.data_len) {
export default (buffer: Uint8Array): DataPacketChunk => {
const chunk = Decoders.Chunk(buffer);
const data: DataPacketChunkData = {};
if (chunk.header.hasSubchunks && chunk.chunkData && chunk.header.dataLen) {
let offset = 0;
while (offset < dataPacketChunk.data_len) {
const chunkId = dataPacketChunk.chunk_data.readUInt16LE(offset);
while (offset < chunk.header.dataLen) {
const chunkId = (chunk.chunkData.subarray(offset)[1] << 8) + chunk.chunkData.subarray(offset)[0];
switch (chunkId) {
case 0x0000:
dataPacketChunk.packet_header = Decoders.PacketHeaderChunk(dataPacketChunk.chunk_data.subarray(offset));
data.packetHeader = Decoders.PacketHeaderChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (dataPacketChunk.packet_header?.data_len) {
offset += dataPacketChunk.packet_header.data_len;
if (data.packetHeader.chunk.header.dataLen) {
offset += data.packetHeader.chunk.header.dataLen;
}
break;
case 0x0001:
dataPacketChunk.tracker_list = Decoders.DataTrackerListChunk(dataPacketChunk.chunk_data.subarray(offset));
data.trackerList = Decoders.DataTrackerListChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (dataPacketChunk.tracker_list.data_len) {
offset += dataPacketChunk.tracker_list.data_len;
if (data.trackerList.chunk.header.dataLen) {
offset += data.trackerList.chunk.header.dataLen;
}
break;
default:
@@ -27,6 +31,9 @@ function decodeDataPacketChunk(dataPacketChunk: DataPacketChunk) {
}
}
}
}
export default (buffer: Buffer): DataPacketChunk => Decoders.Chunk(buffer, decodeDataPacketChunk) as DataPacketChunk;
return {
chunk,
data,
};
};
+40 -37
View File
@@ -1,43 +1,46 @@
import { Decoders } from '..';
import { Constants } from '../../constants';
import { DataTrackerChunk } from '../../models/data/data-tracker-chunk';
import { Constants } from '../../constants.js';
import type { DataTrackerChunk, DataTrackerChunkData } from '../../models/data/data-tracker-chunk.js';
import { Decoders } from '../index.js';
function decodeTrackerChunk(trackerChunk: DataTrackerChunk) {
if (trackerChunk.chunk_data && trackerChunk.data_len) {
export default (buffer: Uint8Array): DataTrackerChunk => {
const chunk = Decoders.Chunk(buffer);
const data: DataTrackerChunkData = {};
if (chunk.chunkData && chunk.header.dataLen) {
let offset = 0;
while (offset < trackerChunk.data_len) {
const trackerFieldChunk = Decoders.DataTrackerFieldChunk(trackerChunk.chunk_data.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (trackerFieldChunk.data_len) {
offset += trackerFieldChunk.data_len;
switch (trackerFieldChunk.id) {
case 0x0000:
trackerChunk.pos = trackerFieldChunk;
break;
case 0x0001:
trackerChunk.speed = trackerFieldChunk;
break;
case 0x0002:
trackerChunk.ori = trackerFieldChunk;
break;
case 0x0003:
trackerChunk.status = trackerFieldChunk;
break;
case 0x0004:
trackerChunk.accel = trackerFieldChunk;
break;
case 0x0005:
trackerChunk.trgtpos = trackerFieldChunk;
break;
case 0x0006:
trackerChunk.timestamp = trackerFieldChunk;
break;
default:
break;
}
while (offset < chunk.header.dataLen) {
const trackerFieldChunk = Decoders.Chunk(chunk.chunkData.subarray(offset));
switch (trackerFieldChunk.header.id) {
case 0x0000:
data.pos = Decoders.DataTrackerXYZChunk(chunk.chunkData.subarray(offset));
break;
case 0x0001:
data.speed = Decoders.DataTrackerXYZChunk(chunk.chunkData.subarray(offset));
break;
case 0x0002:
data.ori = Decoders.DataTrackerXYZChunk(chunk.chunkData.subarray(offset));
break;
case 0x0003:
data.status = Decoders.DataTrackerStatusChunk(chunk.chunkData.subarray(offset));
break;
case 0x0004:
data.accel = Decoders.DataTrackerXYZChunk(chunk.chunkData.subarray(offset));
break;
case 0x0005:
data.trgtpos = Decoders.DataTrackerXYZChunk(chunk.chunkData.subarray(offset));
break;
case 0x0006:
data.timestamp = Decoders.DataTrackerTimestampChunk(chunk.chunkData.subarray(offset));
break;
default:
break;
}
offset += Constants.CHUNK_HEADER_SIZE;
offset += trackerFieldChunk.header.dataLen;
}
}
}
export default (buffer: Buffer): DataTrackerChunk => Decoders.Chunk(buffer, decodeTrackerChunk) as DataTrackerChunk;
return {
chunk,
data,
};
};
@@ -1,48 +0,0 @@
/* eslint-disable no-case-declarations */
import { Decoders } from '..';
import { DataTrackerFieldChunk } from '../../models/data/data-tracker-field-chunk';
function readXYZ(trackerFieldChunk: DataTrackerFieldChunk, prefix: string = '') {
if (trackerFieldChunk.chunk_data) {
trackerFieldChunk[`${prefix}x`] = trackerFieldChunk.chunk_data.readFloatLE(0);
trackerFieldChunk[`${prefix}y`] = trackerFieldChunk.chunk_data.readFloatLE(4);
trackerFieldChunk[`${prefix}z`] = trackerFieldChunk.chunk_data.readFloatLE(8);
}
}
function decodeTrackerFieldChunk(trackerFieldChunk: DataTrackerFieldChunk) {
if (trackerFieldChunk.id !== undefined) {
switch (trackerFieldChunk.id) {
case 0x0000:
readXYZ(trackerFieldChunk, 'pos_');
break;
case 0x0001:
readXYZ(trackerFieldChunk, 'speed_');
break;
case 0x0002:
readXYZ(trackerFieldChunk, 'ori_');
break;
case 0x0003:
if (trackerFieldChunk.chunk_data) {
trackerFieldChunk.validity = trackerFieldChunk.chunk_data.readFloatLE();
}
break;
case 0x0004:
readXYZ(trackerFieldChunk, 'accel_');
break;
case 0x0005:
readXYZ(trackerFieldChunk, 'trgtpos_');
break;
case 0x0006:
if (trackerFieldChunk.chunk_data) {
trackerFieldChunk.tracker_timestamp = trackerFieldChunk.chunk_data.readBigUInt64LE();
}
break;
default:
break;
}
}
}
export default (buffer: Buffer): DataTrackerFieldChunk =>
Decoders.Chunk(buffer, decodeTrackerFieldChunk) as DataTrackerFieldChunk;
+25 -16
View File
@@ -1,24 +1,33 @@
import { Decoders } from '..';
import { Constants } from '../../constants';
import { DataTrackerListChunk } from '../../models/data/data-tracker-list-chunk';
import { Constants } from '../../constants.js';
import type { DataTrackerListChunk, DataTrackerListChunkData } from '../../models/data/data-tracker-list-chunk.js';
import type { DataTrackerChunk } from '../../models/index.js';
import { Decoders } from '../index.js';
function decodeDataTrackerListChunk(dataTrackerListChunk: DataTrackerListChunk) {
dataTrackerListChunk.trackers = {};
export default (buffer: Uint8Array): DataTrackerListChunk => {
const chunk = Decoders.Chunk(buffer);
const trackers: DataTrackerChunk[] = [];
// TODO(jwetzell): add error handling
let offset = 0;
if (dataTrackerListChunk.chunk_data) {
while (offset < dataTrackerListChunk.chunk_data.length) {
const trackerChunk = Decoders.DataTrackerChunk(dataTrackerListChunk.chunk_data.subarray(offset));
if (chunk.chunkData) {
let offset = 0;
while (offset < chunk.chunkData.length) {
const trackerChunk = Decoders.DataTrackerChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (trackerChunk.data_len) {
offset += trackerChunk.data_len;
if (trackerChunk.chunk.header.dataLen) {
offset += trackerChunk.chunk.header.dataLen;
}
if (trackerChunk.id !== undefined) {
dataTrackerListChunk.trackers[trackerChunk.id] = trackerChunk;
if (trackerChunk.chunk.header.id !== undefined) {
trackers.push(trackerChunk);
}
}
}
}
export default (buffer: Buffer): DataTrackerListChunk =>
Decoders.Chunk(buffer, decodeDataTrackerListChunk) as DataTrackerListChunk;
const data: DataTrackerListChunkData = {
trackers,
};
return {
chunk,
data,
};
};
@@ -0,0 +1,21 @@
import type {
DataTrackerStatusChunk,
DataTrackerStatusChunkData,
} from '../../models/data/data-tracker-status-chunk.js';
import { Decoders } from '../index.js';
export default (buffer: Uint8Array): DataTrackerStatusChunk => {
const chunk = Decoders.Chunk(buffer);
const view = new DataView(chunk.chunkData.buffer, chunk.chunkData.byteOffset, chunk.chunkData.byteLength);
const validity = view.getFloat32(0, true);
const data: DataTrackerStatusChunkData = {
validity,
};
return {
chunk,
data,
};
};
@@ -0,0 +1,21 @@
import type {
DataTrackerTimestampChunk,
DataTrackerTimestampChunkData,
} from '../../models/data/data-tracker-timestamp-chunk.js';
import { Decoders } from '../index.js';
export default (buffer: Uint8Array): DataTrackerTimestampChunk => {
const chunk = Decoders.Chunk(buffer);
const view = new DataView(chunk.chunkData.buffer, chunk.chunkData.byteOffset, chunk.chunkData.byteLength);
const timestamp = view.getBigUint64(0, true);
const data: DataTrackerTimestampChunkData = {
timestamp,
};
return {
chunk,
data,
};
};
@@ -0,0 +1,20 @@
import type { DataTrackerXYZChunk, DataTrackerXYZChunkData } from '../../models/data/data-tracker-xyz-chunk.js';
import { Decoders } from '../index.js';
export default (buffer: Uint8Array): DataTrackerXYZChunk => {
const chunk = Decoders.Chunk(buffer);
// TODO(jwetzell): add error handling
const view = new DataView(chunk.chunkData.buffer, chunk.chunkData.byteOffset, chunk.chunkData.byteLength);
const data: DataTrackerXYZChunkData = {
x: view.getFloat32(0, true),
y: view.getFloat32(4, true),
z: view.getFloat32(8, true),
};
return {
chunk,
data,
};
};
+16 -14
View File
@@ -1,25 +1,27 @@
import Chunk from './chunk';
import Packet from './packet';
import PacketHeaderChunk from './packet-header-chunk';
import Chunk from './chunk.js';
import PacketHeaderChunk from './packet-header-chunk.js';
import DataPacketChunk from './data/data-packet-chunk';
import DataTrackerChunk from './data/data-tracker-chunk';
import DataTrackerFieldChunk from './data/data-tracker-field-chunk';
import DataTrackerListChunk from './data/data-tracker-list-chunk';
import DataPacketChunk from './data/data-packet-chunk.js';
import DataTrackerChunk from './data/data-tracker-chunk.js';
import DataTrackerListChunk from './data/data-tracker-list-chunk.js';
import DataTrackerStatusChunk from './data/data-tracker-status-chunk.js';
import DataTrackerTimestampChunk from './data/data-tracker-timestamp-chunk.js';
import DataTrackerXYZChunk from './data/data-tracker-xyz-chunk.js';
import InfoPacketChunk from './info/info-packet-chunk';
import InfoSystemNameChunk from './info/info-system-name-chunk';
import InfoTrackerChunk from './info/info-tracker-chunk';
import InfoTrackerListChunk from './info/info-tracker-list-chunk';
import InfoTrackerNameChunk from './info/info-tracker-name-chunk';
import InfoPacketChunk from './info/info-packet-chunk.js';
import InfoSystemNameChunk from './info/info-system-name-chunk.js';
import InfoTrackerChunk from './info/info-tracker-chunk.js';
import InfoTrackerListChunk from './info/info-tracker-list-chunk.js';
import InfoTrackerNameChunk from './info/info-tracker-name-chunk.js';
export const Decoders = {
Chunk,
PacketHeaderChunk,
Packet,
DataPacketChunk,
DataTrackerChunk,
DataTrackerFieldChunk,
DataTrackerXYZChunk,
DataTrackerStatusChunk,
DataTrackerTimestampChunk,
DataTrackerListChunk,
InfoPacketChunk,
InfoSystemNameChunk,
+25 -18
View File
@@ -1,32 +1,36 @@
import { Decoders } from '..';
import { Constants } from '../../constants';
import { InfoPacketChunk } from '../../models/info/info-packet-chunk';
import { Constants } from '../../constants.js';
import type { InfoPacketChunk, InfoPacketChunkData } from '../../models/info/info-packet-chunk.js';
import { Decoders } from '../index.js';
function decodeInfoPacketChunk(infoPacketChunk: InfoPacketChunk) {
if (infoPacketChunk.has_subchunks && infoPacketChunk.chunk_data && infoPacketChunk.data_len) {
export default (buffer: Uint8Array): InfoPacketChunk => {
const chunk = Decoders.Chunk(buffer);
const data: InfoPacketChunkData = {};
if (chunk.header.hasSubchunks && chunk.chunkData && chunk.header.dataLen) {
let offset = 0;
while (offset < infoPacketChunk.data_len) {
const chunkId = infoPacketChunk.chunk_data.readUInt16LE(offset);
while (offset < chunk.header.dataLen) {
const chunkId = (chunk.chunkData.subarray(offset)[1] << 8) + chunk.chunkData.subarray(offset)[0];
switch (chunkId) {
case 0x0000:
infoPacketChunk.packet_header = Decoders.PacketHeaderChunk(infoPacketChunk.chunk_data.subarray(offset));
data.packetHeader = Decoders.PacketHeaderChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (infoPacketChunk.packet_header?.data_len) {
offset += infoPacketChunk.packet_header.data_len;
if (data.packetHeader?.chunk.header.dataLen) {
offset += data.packetHeader.chunk.header.dataLen;
}
break;
case 0x0001:
infoPacketChunk.system_name = Decoders.InfoSystemNameChunk(infoPacketChunk.chunk_data.subarray(offset));
data.systemName = Decoders.InfoSystemNameChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (infoPacketChunk.system_name?.data_len) {
offset += infoPacketChunk.system_name.data_len;
if (data.systemName?.chunk.header.dataLen) {
offset += data.systemName?.chunk.header.dataLen;
}
break;
case 0x0002:
infoPacketChunk.tracker_list = Decoders.InfoTrackerListChunk(infoPacketChunk.chunk_data.subarray(offset));
data.trackerList = Decoders.InfoTrackerListChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (infoPacketChunk.tracker_list?.data_len) {
offset += infoPacketChunk.tracker_list.data_len;
if (data.trackerList?.chunk.header.dataLen) {
offset += data.trackerList.chunk.header.dataLen;
}
break;
default:
@@ -34,6 +38,9 @@ function decodeInfoPacketChunk(infoPacketChunk: InfoPacketChunk) {
}
}
}
}
export default (buffer: Buffer): InfoPacketChunk => Decoders.Chunk(buffer, decodeInfoPacketChunk) as InfoPacketChunk;
return {
chunk,
data,
};
};
+14 -9
View File
@@ -1,11 +1,16 @@
import { Decoders } from '..';
import { InfoSystemNameChunk } from '../../models/info/info-system-name-chunk';
import type { InfoSystemNameChunk, InfoSystemNameChunkData } from '../../models/info/info-system-name-chunk.js';
import { Decoders } from '../index.js';
function decodeSystemNameChunk(systemNameChunk: InfoSystemNameChunk) {
if (systemNameChunk.chunk_data !== undefined && systemNameChunk.data_len !== undefined) {
systemNameChunk.system_name = systemNameChunk.chunk_data.subarray(0, systemNameChunk.data_len).toString();
}
}
const nameDecoder = new TextDecoder();
export default (buffer: Uint8Array): InfoSystemNameChunk => {
const chunk = Decoders.Chunk(buffer);
export default (buffer: Buffer): InfoSystemNameChunk =>
Decoders.Chunk(buffer, decodeSystemNameChunk) as InfoSystemNameChunk;
const data: InfoSystemNameChunkData = {
systemName: nameDecoder.decode(chunk.chunkData.subarray(0, chunk.header.dataLen)),
};
return {
chunk,
data,
};
};
+24 -15
View File
@@ -1,26 +1,35 @@
import { Decoders } from '..';
import { Constants } from '../../constants';
import { InfoTrackerChunk } from '../../models/info/info-tracker-chunk';
import { Constants } from '../../constants.js';
import type { InfoTrackerChunk, InfoTrackerChunkData } from '../../models/info/info-tracker-chunk.js';
import { Decoders } from '../index.js';
function decodeInfoTrackerChunk(infoTrackerChunk: InfoTrackerChunk) {
if (infoTrackerChunk.has_subchunks && infoTrackerChunk.chunk_data && infoTrackerChunk.data_len) {
export default (buffer: Uint8Array): InfoTrackerChunk => {
const chunk = Decoders.Chunk(buffer);
if (chunk.header.hasSubchunks && chunk.chunkData && chunk.header.dataLen) {
let offset = 0;
while (offset < infoTrackerChunk.data_len) {
const chunkId = infoTrackerChunk.chunk_data.readUInt16LE(offset);
while (offset < chunk.header.dataLen) {
const chunkId = (chunk.chunkData.subarray(offset)[1] << 8) + chunk.chunkData.subarray(offset)[0];
switch (chunkId) {
case 0x0000:
infoTrackerChunk.tracker_name = Decoders.InfoTrackerNameChunk(infoTrackerChunk.chunk_data.subarray(offset));
case 0x0000: {
const data: InfoTrackerChunkData = {
trackerName: Decoders.InfoTrackerNameChunk(chunk.chunkData.subarray(offset)),
};
offset += Constants.CHUNK_HEADER_SIZE;
if (infoTrackerChunk.tracker_name?.data_len) {
offset += infoTrackerChunk?.tracker_name?.data_len;
if (data.trackerName.chunk.header.dataLen) {
offset += data.trackerName.chunk.header.dataLen;
}
break;
return {
chunk,
data,
};
}
default:
break;
}
}
}
}
export default (buffer: Buffer): InfoTrackerChunk => Decoders.Chunk(buffer, decodeInfoTrackerChunk);
return {
chunk,
};
};
+25 -16
View File
@@ -1,24 +1,33 @@
import { Decoders } from '..';
import { Constants } from '../../constants';
import { InfoTrackerListChunk } from '../../models/info/info-tracker-list-chunk';
import { Constants } from '../../constants.js';
import type { InfoTrackerChunk } from '../../models/info/info-tracker-chunk.js';
import type { InfoTrackerListChunk, InfoTrackerListChunkData } from '../../models/info/info-tracker-list-chunk.js';
import { Decoders } from '../index.js';
function decodeInfoTrackerListChunk(infoTrackerListChunk: InfoTrackerListChunk) {
infoTrackerListChunk.trackers = {};
if (infoTrackerListChunk.has_subchunks && infoTrackerListChunk.chunk_data) {
export default (buffer: Uint8Array): InfoTrackerListChunk => {
const chunk = Decoders.Chunk(buffer);
const trackers: InfoTrackerChunk[] = [];
if (chunk.header.hasSubchunks && chunk.chunkData) {
let offset = 0;
if (infoTrackerListChunk.data_len) {
while (offset < infoTrackerListChunk.data_len) {
const trackerChunk = Decoders.InfoTrackerChunk(infoTrackerListChunk.chunk_data.subarray(offset));
if (chunk.header.dataLen) {
while (offset < chunk.header.dataLen) {
const trackerChunk = Decoders.InfoTrackerChunk(chunk.chunkData.subarray(offset));
offset += Constants.CHUNK_HEADER_SIZE;
if (trackerChunk.data_len) {
offset += trackerChunk.data_len;
if (trackerChunk.chunk.header.dataLen) {
offset += trackerChunk.chunk.header.dataLen;
}
if (trackerChunk.id !== undefined) {
infoTrackerListChunk.trackers[trackerChunk.id] = trackerChunk;
if (trackerChunk.chunk.header.id !== undefined) {
trackers.push(trackerChunk);
}
}
}
}
}
export default (buffer: Buffer): InfoTrackerListChunk =>
Decoders.Chunk(buffer, decodeInfoTrackerListChunk) as InfoTrackerListChunk;
const data: InfoTrackerListChunkData = {
trackers,
};
return {
chunk,
data,
};
};
+15 -9
View File
@@ -1,10 +1,16 @@
import { Decoders } from '..';
import { InfoTrackerNameChunk } from '../../models/info/info-tracker-name-chunk';
import type { InfoTrackerNameChunk, InfoTrackerNameChunkData } from '../../models/info/info-tracker-name-chunk.js';
import { Decoders } from '../index.js';
function decodeTrackerNameChunk(trackerNameChunk: InfoTrackerNameChunk) {
if (trackerNameChunk.chunk_data !== undefined && trackerNameChunk.data_len !== undefined) {
trackerNameChunk.tracker_name = trackerNameChunk.chunk_data.subarray(0, trackerNameChunk.data_len).toString();
}
}
export default (buffer: Buffer): InfoTrackerNameChunk =>
Decoders.Chunk(buffer, decodeTrackerNameChunk) as InfoTrackerNameChunk;
const nameDecoder = new TextDecoder();
export default (buffer: Uint8Array): InfoTrackerNameChunk => {
const chunk = Decoders.Chunk(buffer);
const data: InfoTrackerNameChunkData = {
trackerName: nameDecoder.decode(chunk.chunkData.subarray(0, chunk.header.dataLen)),
};
return {
chunk,
data,
};
};
+25 -12
View File
@@ -1,14 +1,27 @@
import { Decoders } from '.';
import { PacketHeaderChunk } from '../models/packet-header-chunk';
import type { PacketHeaderChunk, PacketHeaderChunkData } from '../models/packet-header-chunk.js';
import { Decoders } from './index.js';
function decodePacketHeaderChunk(packetHeaderChunk: PacketHeaderChunk) {
if (packetHeaderChunk.chunk_data) {
packetHeaderChunk.packet_timestamp = packetHeaderChunk.chunk_data.readBigUInt64LE(0);
packetHeaderChunk.version_high = packetHeaderChunk.chunk_data.readUInt8(8);
packetHeaderChunk.version_low = packetHeaderChunk.chunk_data.readUInt8(9);
packetHeaderChunk.frame_id = packetHeaderChunk.chunk_data.readUInt8(10);
packetHeaderChunk.frame_packet_count = packetHeaderChunk.chunk_data.readUInt8(11);
}
}
export default (buffer: Uint8Array): PacketHeaderChunk => {
const chunk = Decoders.Chunk(buffer);
export default (buffer: Buffer): PacketHeaderChunk => Decoders.Chunk(buffer, decodePacketHeaderChunk);
let packetTimestamp = BigInt(chunk.chunkData[7]) << BigInt(56);
packetTimestamp += BigInt(chunk.chunkData[6]) << BigInt(48);
packetTimestamp += BigInt(chunk.chunkData[5]) << BigInt(40);
packetTimestamp += BigInt(chunk.chunkData[4]) << BigInt(32);
packetTimestamp += BigInt(chunk.chunkData[3]) << BigInt(24);
packetTimestamp += BigInt(chunk.chunkData[2]) << BigInt(16);
packetTimestamp += BigInt(chunk.chunkData[1]) << BigInt(8);
packetTimestamp += BigInt(chunk.chunkData[0]);
const data: PacketHeaderChunkData = {
packetTimestamp,
versionHigh: chunk.chunkData[8],
versionLow: chunk.chunkData[9],
frameId: chunk.chunkData[10],
framePacketCount: chunk.chunkData[11],
};
return {
chunk,
data,
};
};
-15
View File
@@ -1,15 +0,0 @@
import { Decoders } from '.';
import { DataPacketChunk } from '../models/data/data-packet-chunk';
import { InfoPacketChunk } from '../models/info/info-packet-chunk';
export default (buffer: Buffer): InfoPacketChunk | DataPacketChunk | undefined => {
const chunkId = buffer.readUInt16LE();
switch (chunkId) {
case 0x6756:
return Decoders.InfoPacketChunk(buffer);
case 0x6755:
return Decoders.DataPacketChunk(buffer);
default:
return undefined;
}
};
+9 -9
View File
@@ -1,5 +1,5 @@
import { Encoders, Tracker } from '.';
import { Constants } from './constants';
import { Constants } from './constants.js';
import { Encoders, Tracker } from './index.js';
export class Encoder {
private systemName: string;
@@ -47,14 +47,14 @@ export class Encoder {
const trackerChunks = trackers.map((tracker: Tracker) => tracker.getInfoChunk());
const infoPackets: Buffer[] = [];
const infoPackets: Uint8Array[] = [];
const trackerChunksLists: Buffer[][] = [];
let currentTrackerList: Buffer[] = [];
const trackerChunksLists: Uint8Array[][] = [];
let currentTrackerList: Uint8Array[] = [];
let currentInfoPacketSize = Constants.PACKET_HEADER_SIZE + systemNameChunk.length + Constants.CHUNK_HEADER_SIZE;
trackerChunks.forEach((trackerChunk: Buffer) => {
trackerChunks.forEach((trackerChunk: Uint8Array) => {
if (currentInfoPacketSize + trackerChunk.length > Constants.MAX_UDP_PACKET_SIZE) {
trackerChunksLists.push(currentTrackerList);
currentTrackerList = [];
@@ -95,10 +95,10 @@ export class Encoder {
}
const allTrackerChunks = trackers.map((tracker) => tracker.getDataChunk());
const dataPackets: Buffer[] = [];
const dataPackets: Uint8Array[] = [];
const trackerChunksLists: Buffer[][] = [];
let currentTrackerList: Buffer[] = [];
const trackerChunksLists: Uint8Array[][] = [];
let currentTrackerList: Uint8Array[] = [];
let currentDataPacketSize = Constants.PACKET_HEADER_SIZE + Constants.CHUNK_HEADER_SIZE;
+10 -5
View File
@@ -1,4 +1,5 @@
export default (id: number, chunkData: Buffer, hasSubchunks: boolean): Buffer => {
const header = new DataView(new ArrayBuffer(4));
export default (id: number, chunkData: Uint8Array, hasSubchunks: boolean): Uint8Array => {
if (!Number.isInteger(id)) {
throw new Error('chunk id must be an integer');
}
@@ -11,10 +12,14 @@ export default (id: number, chunkData: Buffer, hasSubchunks: boolean): Buffer =>
throw new Error('chunkData can not be greater than 32767 bytes');
}
const header = Buffer.alloc(4);
header.writeUInt16LE(id);
header.setUint16(0, id, true);
const hasSubChunksBit = (hasSubchunks ? 1 : 0) << 15;
header.writeUInt16LE(hasSubChunksBit + chunkData.length, 2);
header.setUint16(2, hasSubChunksBit + chunkData.length, true);
return Buffer.concat([header, chunkData]);
const headerBytes = new Uint8Array(header.buffer);
const bytes = new Uint8Array(headerBytes.length + chunkData.length);
bytes.set(headerBytes);
bytes.set(chunkData, headerBytes.length);
return bytes;
};
+7 -3
View File
@@ -1,3 +1,7 @@
import chunk from '../chunk';
export default (packetHeaderChunk: Buffer, trackerListChunk: Buffer): Buffer =>
chunk(0x6755, Buffer.concat([packetHeaderChunk, trackerListChunk]), true);
import chunk from '../chunk.js';
export default (packetHeaderChunk: Uint8Array, trackerListChunk: Uint8Array): Uint8Array => {
const chunkData = new Uint8Array(packetHeaderChunk.length + trackerListChunk.length);
chunkData.set(packetHeaderChunk);
chunkData.set(trackerListChunk, packetHeaderChunk.length);
return chunk(0x6755, chunkData, true);
};
@@ -1,9 +1,9 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (x: number, y: number, z: number): Buffer => {
const buf = Buffer.alloc(12);
buf.writeFloatLE(x);
buf.writeFloatLE(y, 4);
buf.writeFloatLE(z, 8);
return chunk(0x0004, buf, false);
const floatArray = new Float32Array(3);
export default (x: number, y: number, z: number): Uint8Array => {
floatArray[0] = x;
floatArray[1] = y;
floatArray[2] = z;
return chunk(0x0004, new Uint8Array(floatArray.buffer), false);
};
+19 -3
View File
@@ -1,4 +1,20 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (trackerId: number, fieldChunks: Buffer[]): Buffer =>
chunk(trackerId, Buffer.concat(fieldChunks), fieldChunks.length > 0);
export default (trackerId: number, fieldChunks: Uint8Array[]): Uint8Array => {
let fieldChunksTotalLength = 0;
fieldChunks.forEach((fieldChunk) => {
fieldChunksTotalLength += fieldChunk.length;
});
const fieldChunksBytes = new Uint8Array(fieldChunksTotalLength);
let offset = 0;
fieldChunks.forEach((fieldChunk) => {
fieldChunksBytes.set(fieldChunk, offset);
offset += fieldChunk.length;
});
return chunk(trackerId, fieldChunksBytes, fieldChunks.length > 0);
};
+19 -2
View File
@@ -1,3 +1,20 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (trackerChunks: Buffer[]) => chunk(0x0001, Buffer.concat(trackerChunks), true);
export default (trackerChunks: Uint8Array[]) => {
let trackerChunksTotalLength = 0;
trackerChunks.forEach((trackerChunk) => {
trackerChunksTotalLength += trackerChunk.length;
});
const trackerChunksBytes = new Uint8Array(trackerChunksTotalLength);
let offset = 0;
trackerChunks.forEach((trackerChunk) => {
trackerChunksBytes.set(trackerChunk, offset);
offset += trackerChunk.length;
});
return chunk(0x0001, trackerChunksBytes, true);
};
+7 -7
View File
@@ -1,9 +1,9 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (x: number, y: number, z: number): Buffer => {
const buf = Buffer.alloc(12);
buf.writeFloatLE(x);
buf.writeFloatLE(y, 4);
buf.writeFloatLE(z, 8);
return chunk(0x0002, buf, false);
const floatArray = new Float32Array(3);
export default (x: number, y: number, z: number): Uint8Array => {
floatArray[0] = x;
floatArray[1] = y;
floatArray[2] = z;
return chunk(0x0002, new Uint8Array(floatArray.buffer), false);
};
+8 -7
View File
@@ -1,9 +1,10 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (x: number, y: number, z: number): Buffer => {
const buf = Buffer.alloc(12);
buf.writeFloatLE(x);
buf.writeFloatLE(y, 4);
buf.writeFloatLE(z, 8);
return chunk(0x0000, buf, false);
const floatArray = new Float32Array(3);
export default (x: number, y: number, z: number): Uint8Array => {
floatArray[0] = x;
floatArray[1] = y;
floatArray[2] = z;
return chunk(0x0000, new Uint8Array(floatArray.buffer), false);
};
@@ -1,9 +1,10 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (x: number, y: number, z: number): Buffer => {
const buf = Buffer.alloc(12);
buf.writeFloatLE(x);
buf.writeFloatLE(y, 4);
buf.writeFloatLE(z, 8);
return chunk(0x0001, buf, false);
const floatArray = new Float32Array(3);
export default (x: number, y: number, z: number): Uint8Array => {
floatArray[0] = x;
floatArray[1] = y;
floatArray[2] = z;
return chunk(0x0001, new Uint8Array(floatArray.buffer), false);
};
@@ -1,7 +1,7 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (validity: number): Buffer => {
const buf = Buffer.alloc(4);
buf.writeFloatLE(validity);
return chunk(0x0003, buf, false);
const floatArray = new Float32Array(1);
export default (validity: number): Uint8Array => {
floatArray[0] = validity;
return chunk(0x0003, new Uint8Array(floatArray.buffer), false);
};
@@ -1,7 +1,7 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (timestamp: bigint): Buffer => {
const buf = Buffer.alloc(8);
buf.writeBigUInt64LE(BigInt(timestamp));
return chunk(0x0006, buf, false);
const buf = new DataView(new ArrayBuffer(8));
export default (timestamp: bigint): Uint8Array => {
buf.setBigUint64(0, BigInt(timestamp), true);
return chunk(0x0006, new Uint8Array(buf.buffer), false);
};
@@ -1,9 +1,10 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (x: number, y: number, z: number): Buffer => {
const buf = Buffer.alloc(12);
buf.writeFloatLE(x);
buf.writeFloatLE(y, 4);
buf.writeFloatLE(z, 8);
return chunk(0x0005, buf, false);
const floatArray = new Float32Array(3);
export default (x: number, y: number, z: number): Uint8Array => {
floatArray[0] = x;
floatArray[1] = y;
floatArray[2] = z;
return chunk(0x0005, new Uint8Array(floatArray.buffer), false);
};
+17 -17
View File
@@ -1,21 +1,21 @@
import Chunk from './chunk';
import DataPacketChunk from './data/data-packet-chunk';
import DataTrackerAccelChunk from './data/data-tracker-accel-chunk';
import DataTrackerChunk from './data/data-tracker-chunk';
import DataTrackerListChunk from './data/data-tracker-list-chunk';
import DataTrackerOriChunk from './data/data-tracker-ori-chunk';
import DataTrackerPosChunk from './data/data-tracker-pos-chunk';
import DataTrackerSpeedChunk from './data/data-tracker-speed-chunk';
import DataTrackerStatusChunk from './data/data-tracker-status-chunk';
import DataTrackerTimestampChunk from './data/data-tracker-timestamp-chunk';
import DataTrackerTrgtposChunk from './data/data-tracker-trgtpos-chunk';
import PacketHeaderChunk from './packet-header-chunk';
import Chunk from './chunk.js';
import DataPacketChunk from './data/data-packet-chunk.js';
import DataTrackerAccelChunk from './data/data-tracker-accel-chunk.js';
import DataTrackerChunk from './data/data-tracker-chunk.js';
import DataTrackerListChunk from './data/data-tracker-list-chunk.js';
import DataTrackerOriChunk from './data/data-tracker-ori-chunk.js';
import DataTrackerPosChunk from './data/data-tracker-pos-chunk.js';
import DataTrackerSpeedChunk from './data/data-tracker-speed-chunk.js';
import DataTrackerStatusChunk from './data/data-tracker-status-chunk.js';
import DataTrackerTimestampChunk from './data/data-tracker-timestamp-chunk.js';
import DataTrackerTrgtposChunk from './data/data-tracker-trgtpos-chunk.js';
import PacketHeaderChunk from './packet-header-chunk.js';
import InfoPacketChunk from './info/info-packet-chunk';
import InfoSystemNameChunk from './info/info-system-name-chunk';
import InfoTrackerChunk from './info/info-tracker-chunk';
import InfoTrackerListChunk from './info/info-tracker-list-chunk';
import InfoTrackerNameChunk from './info/info-tracker-name-chunk';
import InfoPacketChunk from './info/info-packet-chunk.js';
import InfoSystemNameChunk from './info/info-system-name-chunk.js';
import InfoTrackerChunk from './info/info-tracker-chunk.js';
import InfoTrackerListChunk from './info/info-tracker-list-chunk.js';
import InfoTrackerNameChunk from './info/info-tracker-name-chunk.js';
export const Encoders = {
DataPacketChunk,
+13 -3
View File
@@ -1,4 +1,14 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (packetHeaderChunk: Buffer, systemNameChunk: Buffer, trackerListChunk: Buffer): Buffer =>
chunk(0x6756, Buffer.concat([packetHeaderChunk, systemNameChunk, trackerListChunk]), true);
export default (
packetHeaderChunk: Uint8Array,
systemNameChunk: Uint8Array,
trackerListChunk: Uint8Array
): Uint8Array => {
const chunkData = new Uint8Array(packetHeaderChunk.length + systemNameChunk.length + trackerListChunk.length);
chunkData.set(packetHeaderChunk);
chunkData.set(systemNameChunk, packetHeaderChunk.length);
chunkData.set(trackerListChunk, packetHeaderChunk.length + systemNameChunk.length);
return chunk(0x6756, chunkData, true);
};
+3 -3
View File
@@ -1,3 +1,3 @@
import chunk from '../chunk';
export default (systemName: string): Buffer => chunk(0x0001, Buffer.from(systemName), false);
import chunk from '../chunk.js';
const nameEncoder = new TextEncoder();
export default (systemName: string): Uint8Array => chunk(0x0001, nameEncoder.encode(systemName), false);
+3 -2
View File
@@ -1,3 +1,4 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (trackerId: number, trackerNameChunk: Buffer): Buffer => chunk(trackerId, trackerNameChunk, true);
export default (trackerId: number, trackerNameChunk: Uint8Array): Uint8Array =>
chunk(trackerId, trackerNameChunk, true);
+18 -2
View File
@@ -1,3 +1,19 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (trackerChunks: Buffer[]): Buffer => chunk(0x0002, Buffer.concat(trackerChunks), true);
export default (trackerChunks: Uint8Array[]): Uint8Array => {
let trackerChunksTotalLength = 0;
trackerChunks.forEach((trackerChunk) => {
trackerChunksTotalLength += trackerChunk.length;
});
const trackerChunksBytes = new Uint8Array(trackerChunksTotalLength);
let offset = 0;
trackerChunks.forEach((trackerChunk) => {
trackerChunksBytes.set(trackerChunk, offset);
offset += trackerChunk.length;
});
return chunk(0x0002, trackerChunksBytes, true);
};
+3 -2
View File
@@ -1,3 +1,4 @@
import chunk from '../chunk';
import chunk from '../chunk.js';
export default (trackerName: string) => chunk(0x0000, Buffer.from(trackerName), false);
const nameEncoder = new TextEncoder();
export default (trackerName: string) => chunk(0x0000, nameEncoder.encode(trackerName), false);
+9 -9
View File
@@ -1,12 +1,13 @@
import chunk from './chunk';
import chunk from './chunk.js';
const packetHeader = new DataView(new ArrayBuffer(12));
export default (
timestamp: bigint,
versionHigh: number,
versionLow: number,
frameId: number,
framePacketCount: number
): Buffer => {
): Uint8Array => {
if (!Number.isInteger(versionHigh)) {
throw new Error('version high must be an integer');
}
@@ -33,12 +34,11 @@ export default (
throw new Error('frame packet count must be >= 0 and <= 255');
}
const packetHeader = Buffer.alloc(12);
packetHeader.writeBigUInt64LE(BigInt(timestamp));
packetHeader.writeUint8(versionHigh, 8);
packetHeader.writeUint8(versionLow, 9);
packetHeader.writeUint8(frameId, 10);
packetHeader.writeUint8(framePacketCount, 11);
packetHeader.setBigUint64(0, BigInt(timestamp), true);
packetHeader.setUint8(8, versionHigh);
packetHeader.setUint8(9, versionLow);
packetHeader.setUint8(10, frameId);
packetHeader.setUint8(11, framePacketCount);
return chunk(0x0000, packetHeader, false);
return chunk(0x0000, new Uint8Array(packetHeader.buffer), false);
};
+5 -5
View File
@@ -1,5 +1,5 @@
export { Decoder } from './decoder';
export * from './decoders';
export { Encoder } from './encoder';
export * from './encoders';
export * from './models';
export { Decoder } from './decoder.js';
export * from './decoders/index.js';
export { Encoder } from './encoder.js';
export * from './encoders/index.js';
export * from './models/index.js';
+9 -5
View File
@@ -1,6 +1,10 @@
export interface Chunk {
id?: number;
has_subchunks?: boolean;
data_len?: number;
chunk_data?: Buffer;
export interface ChunkHeader {
id: number;
dataLen: number;
hasSubchunks: boolean;
}
export interface Chunk {
chunkData: Uint8Array;
header: ChunkHeader;
}
+11 -6
View File
@@ -1,8 +1,13 @@
import { Chunk } from '../chunk';
import { PacketHeaderChunk } from '../packet-header-chunk';
import { DataTrackerListChunk } from './data-tracker-list-chunk';
import type { Chunk } from '../chunk.js';
import type { PacketHeaderChunk } from '../packet-header-chunk.js';
import type { DataTrackerListChunk } from './data-tracker-list-chunk.js';
export interface DataPacketChunk extends Chunk {
packet_header: PacketHeaderChunk;
tracker_list: DataTrackerListChunk;
export interface DataPacketChunkData {
packetHeader?: PacketHeaderChunk;
trackerList?: DataTrackerListChunk;
}
export interface DataPacketChunk {
chunk: Chunk;
data: DataPacketChunkData;
}
+17 -10
View File
@@ -1,12 +1,19 @@
import { Chunk } from '../chunk';
import { DataTrackerFieldChunk } from './data-tracker-field-chunk';
import type { Chunk } from '../chunk.js';
import type { DataTrackerStatusChunk } from './data-tracker-status-chunk.js';
import type { DataTrackerTimestampChunk } from './data-tracker-timestamp-chunk.js';
import type { DataTrackerXYZChunk } from './data-tracker-xyz-chunk.js';
export interface DataTrackerChunk extends Chunk {
pos?: DataTrackerFieldChunk;
speed?: DataTrackerFieldChunk;
ori?: DataTrackerFieldChunk;
status?: DataTrackerFieldChunk;
accel?: DataTrackerFieldChunk;
trgtpos?: DataTrackerFieldChunk;
timestamp?: DataTrackerFieldChunk;
export interface DataTrackerChunkData {
pos?: DataTrackerXYZChunk;
speed?: DataTrackerXYZChunk;
ori?: DataTrackerXYZChunk;
status?: DataTrackerStatusChunk;
accel?: DataTrackerXYZChunk;
trgtpos?: DataTrackerXYZChunk;
timestamp?: DataTrackerTimestampChunk;
}
export interface DataTrackerChunk {
chunk: Chunk;
data: DataTrackerChunkData;
}
@@ -1,5 +0,0 @@
import { Chunk } from '../chunk';
export interface DataTrackerFieldChunk extends Chunk {
[key: string]: number | bigint | number[] | Buffer | undefined | boolean;
}
+9 -6
View File
@@ -1,8 +1,11 @@
import { Chunk } from '../chunk';
import { DataTrackerChunk } from './data-tracker-chunk';
import type { Chunk } from '../chunk.js';
import type { DataTrackerChunk } from './data-tracker-chunk.js';
export interface DataTrackerListChunk extends Chunk {
trackers: {
[key: number]: DataTrackerChunk;
};
export interface DataTrackerListChunkData {
trackers: DataTrackerChunk[];
}
export interface DataTrackerListChunk {
chunk: Chunk;
data: DataTrackerListChunkData;
}
@@ -0,0 +1,10 @@
import type { Chunk } from '../chunk.js';
export interface DataTrackerStatusChunkData {
validity: number;
}
export interface DataTrackerStatusChunk {
chunk: Chunk;
data: DataTrackerStatusChunkData;
}
@@ -0,0 +1,10 @@
import type { Chunk } from '../chunk.js';
export interface DataTrackerTimestampChunkData {
timestamp: bigint;
}
export interface DataTrackerTimestampChunk {
chunk: Chunk;
data: DataTrackerTimestampChunkData;
}
+12
View File
@@ -0,0 +1,12 @@
import type { Chunk } from '../chunk.js';
export interface DataTrackerXYZChunkData {
x: number;
y: number;
z: number;
}
export interface DataTrackerXYZChunk {
chunk: Chunk;
data: DataTrackerXYZChunkData;
}
+11 -12
View File
@@ -1,12 +1,11 @@
export * from './chunk';
export * from './data/data-packet-chunk';
export * from './data/data-tracker-chunk';
export * from './data/data-tracker-field-chunk';
export * from './data/data-tracker-list-chunk';
export * from './info/info-packet-chunk';
export * from './info/info-system-name-chunk';
export * from './info/info-tracker-chunk';
export * from './info/info-tracker-list-chunk';
export * from './info/info-tracker-name-chunk';
export * from './packet-header-chunk';
export * from './tracker';
export * from './chunk.js';
export * from './data/data-packet-chunk.js';
export * from './data/data-tracker-chunk.js';
export * from './data/data-tracker-list-chunk.js';
export * from './info/info-packet-chunk.js';
export * from './info/info-system-name-chunk.js';
export * from './info/info-tracker-chunk.js';
export * from './info/info-tracker-list-chunk.js';
export * from './info/info-tracker-name-chunk.js';
export * from './packet-header-chunk.js';
export * from './tracker.js';
+12 -8
View File
@@ -1,10 +1,14 @@
import { Chunk } from '../chunk';
import { PacketHeaderChunk } from '../packet-header-chunk';
import { InfoSystemNameChunk } from './info-system-name-chunk';
import { InfoTrackerListChunk } from './info-tracker-list-chunk';
import type { Chunk } from '../chunk.js';
import type { PacketHeaderChunk } from '../packet-header-chunk.js';
import type { InfoSystemNameChunk } from './info-system-name-chunk.js';
import type { InfoTrackerListChunk } from './info-tracker-list-chunk.js';
export interface InfoPacketChunk extends Chunk {
packet_header: PacketHeaderChunk;
system_name: InfoSystemNameChunk;
tracker_list: InfoTrackerListChunk;
export interface InfoPacketChunkData {
packetHeader?: PacketHeaderChunk;
systemName?: InfoSystemNameChunk;
trackerList?: InfoTrackerListChunk;
}
export interface InfoPacketChunk {
chunk: Chunk;
data: InfoPacketChunkData;
}
+8 -3
View File
@@ -1,5 +1,10 @@
import { Chunk } from '../chunk';
import type { Chunk } from '../chunk.js';
export interface InfoSystemNameChunk extends Chunk {
system_name: string;
export interface InfoSystemNameChunkData {
systemName: string;
}
export interface InfoSystemNameChunk {
chunk: Chunk;
data: InfoSystemNameChunkData;
}
+9 -4
View File
@@ -1,6 +1,11 @@
import { Chunk } from '../chunk';
import { InfoTrackerNameChunk } from './info-tracker-name-chunk';
import type { Chunk } from '../chunk.js';
import type { InfoTrackerNameChunk } from './info-tracker-name-chunk.js';
export interface InfoTrackerChunk extends Chunk {
tracker_name?: InfoTrackerNameChunk;
export interface InfoTrackerChunkData {
trackerName: InfoTrackerNameChunk;
}
export interface InfoTrackerChunk {
chunk: Chunk;
data?: InfoTrackerChunkData;
}
+9 -6
View File
@@ -1,8 +1,11 @@
import { Chunk } from '../chunk';
import { InfoTrackerChunk } from './info-tracker-chunk';
import type { Chunk } from '../chunk.js';
import type { InfoTrackerChunk } from './info-tracker-chunk.js';
export interface InfoTrackerListChunk extends Chunk {
trackers: {
[key: number]: InfoTrackerChunk;
};
export interface InfoTrackerListChunkData {
trackers: InfoTrackerChunk[];
}
export interface InfoTrackerListChunk {
chunk: Chunk;
data: InfoTrackerListChunkData;
}
+8 -3
View File
@@ -1,5 +1,10 @@
import { Chunk } from '../chunk';
import type { Chunk } from '../chunk.js';
export interface InfoTrackerNameChunk extends Chunk {
tracker_name: string;
export interface InfoTrackerNameChunkData {
trackerName: string;
}
export interface InfoTrackerNameChunk {
chunk: Chunk;
data: InfoTrackerNameChunkData;
}
+12 -7
View File
@@ -1,9 +1,14 @@
import { Chunk } from './chunk';
import type { Chunk } from './chunk.js';
export interface PacketHeaderChunk extends Chunk {
packet_timestamp?: bigint;
version_high?: number;
version_low?: number;
frame_id?: number;
frame_packet_count?: number;
export interface PacketHeaderChunkData {
packetTimestamp: bigint;
versionHigh: number;
versionLow: number;
frameId: number;
framePacketCount: number;
}
export interface PacketHeaderChunk {
chunk: Chunk;
data: PacketHeaderChunkData;
}
+148 -26
View File
@@ -1,23 +1,31 @@
import dataTrackerAccelChunk from '../encoders/data/data-tracker-accel-chunk';
import dataTrackerChunk from '../encoders/data/data-tracker-chunk';
import dataTrackerOriChunk from '../encoders/data/data-tracker-ori-chunk';
import dataTrackerPosChunk from '../encoders/data/data-tracker-pos-chunk';
import dataTrackerSpeedChunk from '../encoders/data/data-tracker-speed-chunk';
import dataTrackerStatusChunk from '../encoders/data/data-tracker-status-chunk';
import dataTrackerTimestampChunk from '../encoders/data/data-tracker-timestamp-chunk';
import dataTrackerTrgtposChunk from '../encoders/data/data-tracker-trgtpos-chunk';
import infoTrackerChunk from '../encoders/info/info-tracker-chunk';
import infoTrackerNameChunk from '../encoders/info/info-tracker-name-chunk';
import dataTrackerAccelChunk from '../encoders/data/data-tracker-accel-chunk.js';
import dataTrackerChunk from '../encoders/data/data-tracker-chunk.js';
import dataTrackerOriChunk from '../encoders/data/data-tracker-ori-chunk.js';
import dataTrackerPosChunk from '../encoders/data/data-tracker-pos-chunk.js';
import dataTrackerSpeedChunk from '../encoders/data/data-tracker-speed-chunk.js';
import dataTrackerStatusChunk from '../encoders/data/data-tracker-status-chunk.js';
import dataTrackerTimestampChunk from '../encoders/data/data-tracker-timestamp-chunk.js';
import dataTrackerTrgtposChunk from '../encoders/data/data-tracker-trgtpos-chunk.js';
import infoTrackerChunk from '../encoders/info/info-tracker-chunk.js';
import infoTrackerNameChunk from '../encoders/info/info-tracker-name-chunk.js';
import type { DataTrackerChunk } from './data/data-tracker-chunk.js';
import type { InfoTrackerChunk } from './info/info-tracker-chunk.js';
export type XYZData = {
x: number;
y: number;
z: number;
};
export class Tracker {
id: number;
name: string;
pos?: [number, number, number];
speed?: [number, number, number];
ori?: [number, number, number];
pos?: XYZData;
speed?: XYZData;
ori?: XYZData;
validity?: number;
accel?: [number, number, number];
trgtpos?: [number, number, number];
accel?: XYZData;
trgtpos?: XYZData;
timestamp?: bigint;
constructor(id: number, name: string) {
@@ -33,15 +41,45 @@ export class Tracker {
}
setPos(x: number, y: number, z: number) {
this.pos = [x, y, z];
if (this.pos === undefined) {
this.pos = {
x,
y,
z,
};
} else {
this.pos.x = x;
this.pos.y = y;
this.pos.z = z;
}
}
setSpeed(x: number, y: number, z: number) {
this.speed = [x, y, z];
if (this.speed === undefined) {
this.speed = {
x,
y,
z,
};
} else {
this.speed.x = x;
this.speed.y = y;
this.speed.z = z;
}
}
setOri(x: number, y: number, z: number) {
this.ori = [x, y, z];
if (this.ori === undefined) {
this.ori = {
x,
y,
z,
};
} else {
this.ori.x = x;
this.ori.y = y;
this.ori.z = z;
}
}
setStatus(validity: number) {
@@ -49,11 +87,31 @@ export class Tracker {
}
setAccel(x: number, y: number, z: number) {
this.accel = [x, y, z];
if (this.accel === undefined) {
this.accel = {
x,
y,
z,
};
} else {
this.accel.x = x;
this.accel.y = y;
this.accel.z = z;
}
}
setTrgtPos(x: number, y: number, z: number) {
this.trgtpos = [x, y, z];
if (this.trgtpos === undefined) {
this.trgtpos = {
x,
y,
z,
};
} else {
this.trgtpos.x = x;
this.trgtpos.y = y;
this.trgtpos.z = z;
}
}
setTimestamp(timestamp: bigint) {
@@ -61,18 +119,18 @@ export class Tracker {
}
getDataChunk() {
const fieldChunks: Buffer[] = [];
const fieldChunks: Uint8Array[] = [];
if (this.pos) {
fieldChunks.push(dataTrackerPosChunk(...this.pos));
fieldChunks.push(dataTrackerPosChunk(this.pos.x, this.pos.y, this.pos.z));
}
if (this.speed) {
fieldChunks.push(dataTrackerSpeedChunk(...this.speed));
fieldChunks.push(dataTrackerSpeedChunk(this.speed.x, this.speed.y, this.speed.z));
}
if (this.ori) {
fieldChunks.push(dataTrackerOriChunk(...this.ori));
fieldChunks.push(dataTrackerOriChunk(this.ori.x, this.ori.y, this.ori.z));
}
if (this.validity) {
@@ -80,11 +138,11 @@ export class Tracker {
}
if (this.accel) {
fieldChunks.push(dataTrackerAccelChunk(...this.accel));
fieldChunks.push(dataTrackerAccelChunk(this.accel.x, this.accel.y, this.accel.z));
}
if (this.trgtpos) {
fieldChunks.push(dataTrackerTrgtposChunk(...this.trgtpos));
fieldChunks.push(dataTrackerTrgtposChunk(this.trgtpos.x, this.trgtpos.y, this.trgtpos.z));
}
if (this.timestamp) {
@@ -97,4 +155,68 @@ export class Tracker {
getInfoChunk() {
return infoTrackerChunk(this.id, infoTrackerNameChunk(this.name));
}
updateInfo(infoTrackerChunk: InfoTrackerChunk) {
if (infoTrackerChunk.data) {
this.name = infoTrackerChunk.data.trackerName.data.trackerName;
}
}
updateData(dataTrackerChunk: DataTrackerChunk) {
if (dataTrackerChunk.data.pos) {
this.setPos(dataTrackerChunk.data.pos.data.x, dataTrackerChunk.data.pos.data.y, dataTrackerChunk.data.pos.data.z);
}
if (dataTrackerChunk.data.speed) {
this.setSpeed(
dataTrackerChunk.data.speed.data.x,
dataTrackerChunk.data.speed.data.y,
dataTrackerChunk.data.speed.data.z
);
}
if (dataTrackerChunk.data.ori) {
this.setOri(dataTrackerChunk.data.ori.data.x, dataTrackerChunk.data.ori.data.y, dataTrackerChunk.data.ori.data.z);
}
if (dataTrackerChunk.data.status) {
this.setStatus(dataTrackerChunk.data.status.data.validity);
}
if (dataTrackerChunk.data.accel) {
this.setAccel(
dataTrackerChunk.data.accel.data.x,
dataTrackerChunk.data.accel.data.y,
dataTrackerChunk.data.accel.data.z
);
}
if (dataTrackerChunk.data.trgtpos) {
this.setTrgtPos(
dataTrackerChunk.data.trgtpos.data.x,
dataTrackerChunk.data.trgtpos.data.y,
dataTrackerChunk.data.trgtpos.data.z
);
}
if (dataTrackerChunk.data.timestamp) {
this.setTimestamp(dataTrackerChunk.data.timestamp.data.timestamp);
}
}
}
export function TrackerFromInfo(infoTrackerChunk: InfoTrackerChunk) {
if (infoTrackerChunk.data) {
return new Tracker(infoTrackerChunk.chunk.header.id, infoTrackerChunk.data.trackerName.data.trackerName);
}
return undefined;
}
export function TrackerFromData(dataTrackerChunk: DataTrackerChunk) {
if (dataTrackerChunk.data) {
const tracker = new Tracker(dataTrackerChunk.chunk.header.id, '');
tracker.updateData(dataTrackerChunk);
return tracker;
}
return undefined;
}
+647
View File
@@ -0,0 +1,647 @@
import { Decoders } from '@jwetzell/posistagenet';
import { deepEqual, throws } from 'assert';
import { describe, it } from 'node:test';
const goodTests = [
{
description: 'DataTrackerPosChunk',
bytes: new Uint8Array([0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
decoder: Decoders.DataTrackerXYZChunk,
},
{
description: 'DataTrackerSpeedChunk',
bytes: new Uint8Array([1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 1, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
decoder: Decoders.DataTrackerXYZChunk,
},
{
description: 'DataTrackerOriChunk',
bytes: new Uint8Array([2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 2, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
decoder: Decoders.DataTrackerXYZChunk,
},
{
description: 'DataTrackerStatusChunk',
bytes: new Uint8Array([3, 0, 4, 0, 0, 0, 128, 63]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63]),
header: { dataLen: 4, id: 3, hasSubchunks: false },
},
data: {
validity: 1.0,
},
},
decoder: Decoders.DataTrackerStatusChunk,
},
{
description: 'DataTrackerAccelChunk',
bytes: new Uint8Array([4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 4, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
decoder: Decoders.DataTrackerXYZChunk,
},
{
description: 'DataTrackerTrgtPosChunk',
bytes: new Uint8Array([5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 5, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
decoder: Decoders.DataTrackerXYZChunk,
},
{
description: 'DataTrackerTimestampChunk',
bytes: new Uint8Array([6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0]),
expected: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0]),
header: { dataLen: 8, id: 6, hasSubchunks: false },
},
data: {
timestamp: 1234567890n,
},
},
decoder: Decoders.DataTrackerTimestampChunk,
},
{
description: 'DataTrackerChunk',
bytes: new Uint8Array([
1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0,
0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0, 0,
128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210, 2,
150, 73, 0, 0, 0, 0,
]),
expected: {
chunk: {
chunkData: new Uint8Array([
0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64,
2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0, 0, 128, 63,
0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210, 2, 150, 73,
0, 0, 0, 0,
]),
header: { dataLen: 100, id: 1, hasSubchunks: true },
},
data: {
pos: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
speed: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 1, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
ori: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 2, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
status: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63]),
header: { dataLen: 4, id: 3, hasSubchunks: false },
},
data: {
validity: 1.0,
},
},
accel: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 4, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
trgtpos: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 5, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
timestamp: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0]),
header: { dataLen: 8, id: 6, hasSubchunks: false },
},
data: {
timestamp: 1234567890n,
},
},
},
},
decoder: Decoders.DataTrackerChunk,
},
{
description: 'DataTrackerListChunk',
bytes: new Uint8Array([
1, 0, 104, 128, 1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63,
0, 0, 0, 64, 0, 0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0,
12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8,
0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
expected: {
chunk: {
chunkData: new Uint8Array([
1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0,
64, 0, 0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12,
0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8,
0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
header: { dataLen: 104, id: 1, hasSubchunks: true },
},
data: {
trackers: [
{
chunk: {
chunkData: new Uint8Array([
0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0,
64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0,
0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0,
8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
header: { dataLen: 100, id: 1, hasSubchunks: true },
},
data: {
pos: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
speed: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 1, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
ori: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 2, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
status: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63]),
header: { dataLen: 4, id: 3, hasSubchunks: false },
},
data: {
validity: 1.0,
},
},
accel: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 4, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
trgtpos: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 5, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
timestamp: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0]),
header: { dataLen: 8, id: 6, hasSubchunks: false },
},
data: {
timestamp: 1234567890n,
},
},
},
},
],
},
},
decoder: Decoders.DataTrackerListChunk,
},
{
description: 'DataPacketChunk',
bytes: new Uint8Array([
85, 103, 124, 128, 0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123, 1, 0, 104, 128, 1, 0, 100, 128, 0, 0,
12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 2, 0, 12,
0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64,
0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
expected: {
chunk: {
chunkData: new Uint8Array([
0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123, 1, 0, 104, 128, 1, 0, 100, 128, 0, 0, 12, 0, 0, 0,
128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 2, 0, 12, 0, 0, 0,
128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0,
64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
header: { dataLen: 124, id: 26453, hasSubchunks: true },
},
data: {
packetHeader: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
packetTimestamp: 1234567890n,
versionHigh: 2,
versionLow: 3,
frameId: 1,
framePacketCount: 123,
},
},
trackerList: {
chunk: {
chunkData: new Uint8Array([
1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0,
0, 64, 0, 0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4,
0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64,
6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
header: { dataLen: 104, id: 1, hasSubchunks: true },
},
data: {
trackers: [
{
chunk: {
chunkData: new Uint8Array([
0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0,
0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0,
12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64,
64, 6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
header: { dataLen: 100, id: 1, hasSubchunks: true },
},
data: {
pos: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
speed: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 1, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
ori: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 2, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
status: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63]),
header: { dataLen: 4, id: 3, hasSubchunks: false },
},
data: {
validity: 1.0,
},
},
accel: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 4, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
trgtpos: {
chunk: {
chunkData: new Uint8Array([0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
header: { dataLen: 12, id: 5, hasSubchunks: false },
},
data: {
x: 1.0,
y: 2.0,
z: 3.0,
},
},
timestamp: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0]),
header: { dataLen: 8, id: 6, hasSubchunks: false },
},
data: {
timestamp: 1234567890n,
},
},
},
},
],
},
},
},
},
decoder: Decoders.DataPacketChunk,
},
{
description: 'InfoTrackerNameChunk',
bytes: new Uint8Array([0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
expected: {
chunk: {
chunkData: new Uint8Array([84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 9, id: 0, hasSubchunks: false },
},
data: {
trackerName: 'Tracker 1',
},
},
decoder: Decoders.InfoTrackerNameChunk,
},
{
description: 'InfoSystemNameChunk',
bytes: new Uint8Array([1, 0, 10, 0, 80, 83, 78, 32, 83, 101, 114, 118, 101, 114]),
expected: {
chunk: {
chunkData: new Uint8Array([80, 83, 78, 32, 83, 101, 114, 118, 101, 114]),
header: { dataLen: 10, id: 1, hasSubchunks: false },
},
data: {
systemName: 'PSN Server',
},
},
decoder: Decoders.InfoSystemNameChunk,
},
{
description: 'InfoTrackerChunk',
bytes: new Uint8Array([1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
expected: {
chunk: {
chunkData: new Uint8Array([0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 13, id: 1, hasSubchunks: true },
},
data: {
trackerName: {
chunk: {
chunkData: new Uint8Array([84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 9, id: 0, hasSubchunks: false },
},
data: {
trackerName: 'Tracker 1',
},
},
},
},
decoder: Decoders.InfoTrackerChunk,
},
{
description: 'InfoTrackerListChunk',
bytes: new Uint8Array([2, 0, 17, 128, 1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
expected: {
chunk: {
chunkData: new Uint8Array([1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 17, id: 2, hasSubchunks: true },
},
data: {
trackers: [
{
chunk: {
chunkData: new Uint8Array([0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 13, id: 1, hasSubchunks: true },
},
data: {
trackerName: {
chunk: {
chunkData: new Uint8Array([84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 9, id: 0, hasSubchunks: false },
},
data: {
trackerName: 'Tracker 1',
},
},
},
},
],
},
},
decoder: Decoders.InfoTrackerListChunk,
},
{
description: 'PacketHeaderChunk',
bytes: new Uint8Array([0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
expected: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
packetTimestamp: 1234567890n,
versionHigh: 2,
versionLow: 3,
frameId: 1,
framePacketCount: 123,
},
},
decoder: Decoders.PacketHeaderChunk,
},
{
description: 'InfoPacketChunk',
bytes: new Uint8Array([
86, 103, 51, 128, 0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123, 1, 0, 10, 0, 80, 83, 78, 32, 83, 101,
114, 118, 101, 114, 2, 0, 17, 128, 1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49,
]),
expected: {
chunk: {
chunkData: new Uint8Array([
0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123, 1, 0, 10, 0, 80, 83, 78, 32, 83, 101, 114, 118, 101,
114, 2, 0, 17, 128, 1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49,
]),
header: { dataLen: 51, id: 26454, hasSubchunks: true },
},
data: {
packetHeader: {
chunk: {
chunkData: new Uint8Array([210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
header: { dataLen: 12, id: 0, hasSubchunks: false },
},
data: {
packetTimestamp: 1234567890n,
versionHigh: 2,
versionLow: 3,
frameId: 1,
framePacketCount: 123,
},
},
systemName: {
chunk: {
chunkData: new Uint8Array([80, 83, 78, 32, 83, 101, 114, 118, 101, 114]),
header: { dataLen: 10, id: 1, hasSubchunks: false },
},
data: {
systemName: 'PSN Server',
},
},
trackerList: {
chunk: {
chunkData: new Uint8Array([1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 17, id: 2, hasSubchunks: true },
},
data: {
trackers: [
{
chunk: {
chunkData: new Uint8Array([0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 13, id: 1, hasSubchunks: true },
},
data: {
trackerName: {
chunk: {
chunkData: new Uint8Array([84, 114, 97, 99, 107, 101, 114, 32, 49]),
header: { dataLen: 9, id: 0, hasSubchunks: false },
},
data: {
trackerName: 'Tracker 1',
},
},
},
},
],
},
},
},
},
decoder: Decoders.InfoPacketChunk,
},
];
describe('PSN Bytes Decoding', () => {
goodTests.forEach((bytesTest) => {
it(bytesTest.description, () => {
const decoded = bytesTest.decoder(bytesTest.bytes);
deepEqual(decoded, bytesTest.expected);
});
});
});
// TODO(jwetzell): add error tests
const badTests = [];
describe('PSN Bytes Decoding Throws', () => {
badTests.forEach((bytesTest) => {
it(bytesTest.description, () => {
throws(() => {
bytesTest.decoder(bytesTest.bytes);
}, bytesTest.throwsMessage);
});
});
});
+152
View File
@@ -0,0 +1,152 @@
import { Encoders } from '@jwetzell/posistagenet';
import { deepEqual, throws } from 'assert';
import { describe, it } from 'node:test';
const goodTests = [
{
description: 'DataTrackerPosChunk',
expected: new Uint8Array([0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
bytes: Encoders.DataTrackerPosChunk(1.0, 2.0, 3.0),
},
{
description: 'DataTrackerSpeedChunk',
expected: new Uint8Array([1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
bytes: Encoders.DataTrackerSpeedChunk(1.0, 2.0, 3.0),
},
{
description: 'DataTrackerOriChunk',
expected: new Uint8Array([2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
bytes: Encoders.DataTrackerOriChunk(1.0, 2.0, 3.0),
},
{
description: 'DataTrackerStatusChunk',
expected: new Uint8Array([3, 0, 4, 0, 0, 0, 128, 63]),
bytes: Encoders.DataTrackerStatusChunk(1.0),
},
{
description: 'DataTrackerAccelChunk',
expected: new Uint8Array([4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
bytes: Encoders.DataTrackerAccelChunk(1.0, 2.0, 3.0),
},
{
description: 'DataTrackerTrgtposChunk',
expected: new Uint8Array([5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
bytes: Encoders.DataTrackerTrgtposChunk(1.0, 2.0, 3.0),
},
{
description: 'DataTrackerTimestampChunk',
expected: new Uint8Array([6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0]),
bytes: Encoders.DataTrackerTimestampChunk(1234567890n),
},
{
description: 'DataTrackerChunk',
expected: new Uint8Array([
1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0,
0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0, 0,
128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210, 2,
150, 73, 0, 0, 0, 0,
]),
bytes: Encoders.DataTrackerChunk(1, [
new Uint8Array([0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
new Uint8Array([1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
new Uint8Array([2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
new Uint8Array([3, 0, 4, 0, 0, 0, 128, 63]),
new Uint8Array([4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
new Uint8Array([5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64]),
new Uint8Array([6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0]),
]),
},
{
description: 'DataTrackerListChunk',
expected: new Uint8Array([
1, 0, 104, 128, 1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63,
0, 0, 0, 64, 0, 0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0,
12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8,
0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
bytes: Encoders.DataTrackerListChunk([
new Uint8Array([
1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64,
0, 0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0,
0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210,
2, 150, 73, 0, 0, 0, 0,
]),
]),
},
{
description: 'DataPacketChunk',
expected: new Uint8Array([
85, 103, 124, 128, 0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123, 1, 0, 104, 128, 1, 0, 100, 128, 0, 0,
12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 2, 0, 12,
0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63, 4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64,
0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6, 0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
]),
bytes: Encoders.DataPacketChunk(
new Uint8Array([0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
new Uint8Array([
1, 0, 104, 128, 1, 0, 100, 128, 0, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 1, 0, 12, 0, 0, 0, 128,
63, 0, 0, 0, 64, 0, 0, 64, 64, 2, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 3, 0, 4, 0, 0, 0, 128, 63,
4, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 5, 0, 12, 0, 0, 0, 128, 63, 0, 0, 0, 64, 0, 0, 64, 64, 6,
0, 8, 0, 210, 2, 150, 73, 0, 0, 0, 0,
])
),
},
{
description: 'InfoTrackerNameChunk',
expected: new Uint8Array([0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
bytes: Encoders.InfoTrackerNameChunk('Tracker 1'),
},
{
description: 'InfoSystemNameChunk',
expected: new Uint8Array([1, 0, 10, 0, 80, 83, 78, 32, 83, 101, 114, 118, 101, 114]),
bytes: Encoders.InfoSystemNameChunk('PSN Server'),
},
{
description: 'InfoTrackerChunk',
expected: new Uint8Array([1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
bytes: Encoders.InfoTrackerChunk(1, new Uint8Array([0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49])),
},
{
description: 'InfoTrackerListChunk',
expected: new Uint8Array([2, 0, 17, 128, 1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
bytes: Encoders.InfoTrackerListChunk([
new Uint8Array([1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49]),
]),
},
{
description: 'PacketHeaderChunk',
expected: new Uint8Array([0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
bytes: Encoders.PacketHeaderChunk(1234567890n, 2, 3, 1, 123),
},
{
description: 'InfoPacketChunk',
expected: new Uint8Array([
86, 103, 51, 128, 0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123, 1, 0, 10, 0, 80, 83, 78, 32, 83, 101,
114, 118, 101, 114, 2, 0, 17, 128, 1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49,
]),
bytes: Encoders.InfoPacketChunk(
new Uint8Array([0, 0, 12, 0, 210, 2, 150, 73, 0, 0, 0, 0, 2, 3, 1, 123]),
new Uint8Array([1, 0, 10, 0, 80, 83, 78, 32, 83, 101, 114, 118, 101, 114]),
new Uint8Array([2, 0, 17, 128, 1, 0, 13, 128, 0, 0, 9, 0, 84, 114, 97, 99, 107, 101, 114, 32, 49])
),
},
];
describe('PSN Message Encoding', () => {
goodTests.forEach((messageTest) => {
it(messageTest.description, () => {
deepEqual(messageTest.bytes, messageTest.expected);
});
});
});
//TODO(jwetzell): add tests that handle errors
const badTests = [];
describe('PSN Message Encoding Throws', () => {
badTests.forEach((messageTest) => {
it(messageTest.description, () => {
throws(() => {}, messageTest.throwsMessage);
});
});
});
+15 -7
View File
@@ -1,12 +1,20 @@
{
"compilerOptions": {
"esModuleInterop": true,
"module": "commonjs",
"target": "ES2020",
"declaration": true,
"rootDir": "./src",
"target": "esnext",
"lib": ["es2023"],
"moduleDetection": "force",
"module": "preserve",
"moduleResolution": "bundler",
"resolveJsonModule": true,
"types": ["node"],
"strict": true,
"outDir": "dist"
"noUnusedLocals": true,
"declaration": true,
"emitDeclarationOnly": true,
"esModuleInterop": true,
"isolatedModules": true,
"verbatimModuleSyntax": true,
"skipLibCheck": true
},
"exclude": ["node_modules", "dist", "examples"]
"include": ["src"]
}
+10
View File
@@ -0,0 +1,10 @@
import { defineConfig } from 'tsdown'
export default defineConfig({
entry: 'src/index.ts',
exports: true,
format: {
esm: {},
cjs: {},
},
})