@hangtime/grip-connect 0.6.2 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (128) hide show
  1. package/README.md +25 -10
  2. package/dist/index.d.ts +3 -2
  3. package/dist/index.d.ts.map +1 -0
  4. package/dist/index.js +2 -1
  5. package/dist/index.js.map +1 -0
  6. package/dist/interfaces/base.interface.d.ts +1 -0
  7. package/dist/interfaces/base.interface.d.ts.map +1 -0
  8. package/dist/interfaces/base.interface.js +1 -0
  9. package/dist/interfaces/base.interface.js.map +1 -0
  10. package/dist/interfaces/callback.interface.d.ts +1 -0
  11. package/dist/interfaces/callback.interface.d.ts.map +1 -0
  12. package/dist/interfaces/callback.interface.js +1 -0
  13. package/dist/interfaces/callback.interface.js.map +1 -0
  14. package/dist/interfaces/command.interface.d.ts +7 -0
  15. package/dist/interfaces/command.interface.d.ts.map +1 -0
  16. package/dist/interfaces/command.interface.js +1 -0
  17. package/dist/interfaces/command.interface.js.map +1 -0
  18. package/dist/interfaces/device/climbro.interface.d.ts +1 -0
  19. package/dist/interfaces/device/climbro.interface.d.ts.map +1 -0
  20. package/dist/interfaces/device/climbro.interface.js +1 -0
  21. package/dist/interfaces/device/climbro.interface.js.map +1 -0
  22. package/dist/interfaces/device/entralpi.interface.d.ts +1 -0
  23. package/dist/interfaces/device/entralpi.interface.d.ts.map +1 -0
  24. package/dist/interfaces/device/entralpi.interface.js +1 -0
  25. package/dist/interfaces/device/entralpi.interface.js.map +1 -0
  26. package/dist/interfaces/device/forceboard.interface.d.ts +30 -3
  27. package/dist/interfaces/device/forceboard.interface.d.ts.map +1 -0
  28. package/dist/interfaces/device/forceboard.interface.js +1 -0
  29. package/dist/interfaces/device/forceboard.interface.js.map +1 -0
  30. package/dist/interfaces/device/kilterboard.interface.d.ts +1 -0
  31. package/dist/interfaces/device/kilterboard.interface.d.ts.map +1 -0
  32. package/dist/interfaces/device/kilterboard.interface.js +1 -0
  33. package/dist/interfaces/device/kilterboard.interface.js.map +1 -0
  34. package/dist/interfaces/device/motherboard.interface.d.ts +1 -0
  35. package/dist/interfaces/device/motherboard.interface.d.ts.map +1 -0
  36. package/dist/interfaces/device/motherboard.interface.js +1 -0
  37. package/dist/interfaces/device/motherboard.interface.js.map +1 -0
  38. package/dist/interfaces/device/mysmartboard.interface.d.ts +1 -0
  39. package/dist/interfaces/device/mysmartboard.interface.d.ts.map +1 -0
  40. package/dist/interfaces/device/mysmartboard.interface.js +1 -0
  41. package/dist/interfaces/device/mysmartboard.interface.js.map +1 -0
  42. package/dist/interfaces/device/progressor.interface.d.ts +1 -0
  43. package/dist/interfaces/device/progressor.interface.d.ts.map +1 -0
  44. package/dist/interfaces/device/progressor.interface.js +1 -0
  45. package/dist/interfaces/device/progressor.interface.js.map +1 -0
  46. package/dist/interfaces/device/smartboard-pro.interface.d.ts +7 -0
  47. package/dist/interfaces/device/smartboard-pro.interface.d.ts.map +1 -0
  48. package/dist/interfaces/device/smartboard-pro.interface.js +2 -0
  49. package/dist/interfaces/device/smartboard-pro.interface.js.map +1 -0
  50. package/dist/interfaces/device/wh-c06.interface.d.ts +1 -0
  51. package/dist/interfaces/device/wh-c06.interface.d.ts.map +1 -0
  52. package/dist/interfaces/device/wh-c06.interface.js +1 -0
  53. package/dist/interfaces/device/wh-c06.interface.js.map +1 -0
  54. package/dist/interfaces/device.interface.d.ts +1 -0
  55. package/dist/interfaces/device.interface.d.ts.map +1 -0
  56. package/dist/interfaces/device.interface.js +1 -0
  57. package/dist/interfaces/device.interface.js.map +1 -0
  58. package/dist/interfaces/download.interface.d.ts +1 -0
  59. package/dist/interfaces/download.interface.d.ts.map +1 -0
  60. package/dist/interfaces/download.interface.js +1 -0
  61. package/dist/interfaces/download.interface.js.map +1 -0
  62. package/dist/interfaces/index.d.ts +2 -0
  63. package/dist/interfaces/index.d.ts.map +1 -0
  64. package/dist/interfaces/index.js +1 -0
  65. package/dist/interfaces/index.js.map +1 -0
  66. package/dist/models/base.model.d.ts +1 -0
  67. package/dist/models/base.model.d.ts.map +1 -0
  68. package/dist/models/base.model.js +1 -0
  69. package/dist/models/base.model.js.map +1 -0
  70. package/dist/models/device/climbro.model.d.ts +1 -0
  71. package/dist/models/device/climbro.model.d.ts.map +1 -0
  72. package/dist/models/device/climbro.model.js +1 -0
  73. package/dist/models/device/climbro.model.js.map +1 -0
  74. package/dist/models/device/entralpi.model.d.ts +3 -2
  75. package/dist/models/device/entralpi.model.d.ts.map +1 -0
  76. package/dist/models/device/entralpi.model.js +3 -3
  77. package/dist/models/device/entralpi.model.js.map +1 -0
  78. package/dist/models/device/forceboard.model.d.ts +30 -5
  79. package/dist/models/device/forceboard.model.d.ts.map +1 -0
  80. package/dist/models/device/forceboard.model.js +97 -54
  81. package/dist/models/device/forceboard.model.js.map +1 -0
  82. package/dist/models/device/kilterboard.model.d.ts +1 -0
  83. package/dist/models/device/kilterboard.model.d.ts.map +1 -0
  84. package/dist/models/device/kilterboard.model.js +1 -0
  85. package/dist/models/device/kilterboard.model.js.map +1 -0
  86. package/dist/models/device/motherboard.model.d.ts +3 -2
  87. package/dist/models/device/motherboard.model.d.ts.map +1 -0
  88. package/dist/models/device/motherboard.model.js +3 -3
  89. package/dist/models/device/motherboard.model.js.map +1 -0
  90. package/dist/models/device/mysmartboard.model.d.ts +1 -0
  91. package/dist/models/device/mysmartboard.model.d.ts.map +1 -0
  92. package/dist/models/device/mysmartboard.model.js +1 -0
  93. package/dist/models/device/mysmartboard.model.js.map +1 -0
  94. package/dist/models/device/progressor.model.d.ts +3 -2
  95. package/dist/models/device/progressor.model.d.ts.map +1 -0
  96. package/dist/models/device/progressor.model.js +3 -3
  97. package/dist/models/device/progressor.model.js.map +1 -0
  98. package/dist/models/device/smartboard-pro.model.d.ts +11 -0
  99. package/dist/models/device/smartboard-pro.model.d.ts.map +1 -0
  100. package/dist/models/device/smartboard-pro.model.js +52 -0
  101. package/dist/models/device/smartboard-pro.model.js.map +1 -0
  102. package/dist/models/device/wh-c06.model.d.ts +1 -0
  103. package/dist/models/device/wh-c06.model.d.ts.map +1 -0
  104. package/dist/models/device/wh-c06.model.js +1 -0
  105. package/dist/models/device/wh-c06.model.js.map +1 -0
  106. package/dist/models/device.model.d.ts +6 -5
  107. package/dist/models/device.model.d.ts.map +1 -0
  108. package/dist/models/device.model.js +25 -38
  109. package/dist/models/device.model.js.map +1 -0
  110. package/dist/models/index.d.ts +2 -0
  111. package/dist/models/index.d.ts.map +1 -0
  112. package/dist/models/index.js +2 -0
  113. package/dist/models/index.js.map +1 -0
  114. package/package.json +2 -5
  115. package/src/index.ts +2 -0
  116. package/src/interfaces/command.interface.ts +9 -0
  117. package/src/interfaces/device/forceboard.interface.ts +33 -3
  118. package/src/interfaces/device/smartboard-pro.interface.ts +6 -0
  119. package/src/interfaces/index.ts +2 -0
  120. package/src/models/device/entralpi.model.ts +2 -4
  121. package/src/models/device/forceboard.model.ts +104 -54
  122. package/src/models/device/motherboard.model.ts +2 -4
  123. package/src/models/device/progressor.model.ts +2 -4
  124. package/src/models/device/smartboard-pro.model.ts +53 -0
  125. package/src/models/device.model.ts +27 -43
  126. package/src/models/index.ts +2 -0
  127. package/tsconfig.json +4 -0
  128. package/deno.json +0 -8
@@ -344,7 +344,7 @@ export abstract class Device extends BaseModel implements IDevice {
344
344
  * const csvData = device.downloadToCSV();
345
345
  * console.log(csvData);
346
346
  */
347
- private downloadToCSV = (): string => {
347
+ protected downloadToCSV = (): string => {
348
348
  const packets = [...this.downloadPackets]
349
349
  if (packets.length === 0) {
350
350
  return ""
@@ -374,7 +374,7 @@ export abstract class Device extends BaseModel implements IDevice {
374
374
  * const jsonData = device.downloadToJSON();
375
375
  * console.log(jsonData);
376
376
  */
377
- private downloadToJSON = (): string => {
377
+ protected downloadToJSON = (): string => {
378
378
  // Pretty print JSON with 2-space indentation
379
379
  return JSON.stringify(this.downloadPackets, null, 2)
380
380
  }
@@ -388,7 +388,7 @@ export abstract class Device extends BaseModel implements IDevice {
388
388
  * const xmlData = device.downloadToXML();
389
389
  * console.log(xmlData);
390
390
  */
391
- private downloadToXML = (): string => {
391
+ protected downloadToXML = (): string => {
392
392
  const xmlPackets = this.downloadPackets
393
393
  .map((packet) => {
394
394
  const samples = packet.samples.map((sample) => `<sample>${sample}</sample>`).join("")
@@ -439,39 +439,33 @@ export abstract class Device extends BaseModel implements IDevice {
439
439
 
440
440
  const fileName = `data-export-${date}-${time}.${format}`
441
441
 
442
- if (typeof window !== "undefined" && typeof document !== "undefined") {
443
- const mimeTypes = {
444
- csv: "text/csv",
445
- json: "application/json",
446
- xml: "application/xml",
447
- }
442
+ const mimeTypes = {
443
+ csv: "text/csv",
444
+ json: "application/json",
445
+ xml: "application/xml",
446
+ }
448
447
 
449
- // Create a Blob object containing the data
450
- const blob = new Blob([content], { type: mimeTypes[format] })
451
- // Create a URL for the Blob
452
- const url = globalThis.URL.createObjectURL(blob)
448
+ // Create a Blob object containing the data
449
+ const blob = new Blob([content], { type: mimeTypes[format] })
450
+ // Create a URL for the Blob
451
+ const url = globalThis.URL.createObjectURL(blob)
453
452
 
454
- // Create a link element
455
- const link = document.createElement("a")
453
+ // Create a link element
454
+ const link = document.createElement("a")
456
455
 
457
- // Set link attributes
458
- link.href = url
459
- link.setAttribute("download", fileName)
456
+ // Set link attributes
457
+ link.href = url
458
+ link.setAttribute("download", fileName)
460
459
 
461
- // Append link to document body
462
- document.body.appendChild(link)
460
+ // Append link to document body
461
+ document.body.appendChild(link)
463
462
 
464
- // Programmatically click the link to trigger the download
465
- link.click()
463
+ // Programmatically click the link to trigger the download
464
+ link.click()
466
465
 
467
- // Clean up: remove the link and revoke the URL
468
- document.body.removeChild(link)
469
- globalThis.URL.revokeObjectURL(url)
470
- } else {
471
- const { writeFile } = await import("node:fs/promises")
472
- await writeFile(fileName, content)
473
- console.log(`File saved as ${fileName}`)
474
- }
466
+ // Clean up: remove the link and revoke the URL
467
+ document.body.removeChild(link)
468
+ globalThis.URL.revokeObjectURL(url)
475
469
  }
476
470
 
477
471
  /**
@@ -501,28 +495,18 @@ export abstract class Device extends BaseModel implements IDevice {
501
495
  if (typeof navigator !== "undefined" && navigator.bluetooth) {
502
496
  return navigator.bluetooth
503
497
  }
504
-
505
- const process = await import("node:process")
506
-
507
- // If running in Node, Bun, or Deno environment
508
- if (typeof process !== "undefined" && process.versions?.node) {
509
- const { bluetooth } = await import("webbluetooth")
510
- return bluetooth
511
- }
512
-
513
498
  // If none of the above conditions are met, throw an error.
514
499
  throw new Error("Bluetooth not available.")
515
500
  }
516
501
 
517
502
  /**
518
503
  * Handles notifications received from a characteristic.
519
- * @param {BluetoothRemoteGATTCharacteristic} characteristic - The notification event.
504
+ * @param {DataView} value - The notification event.
520
505
  *
521
506
  * @example
522
507
  * device.handleNotifications(someCharacteristic);
523
508
  */
524
- protected handleNotifications = (characteristic: BluetoothRemoteGATTCharacteristic): void => {
525
- const value = characteristic.value
509
+ protected handleNotifications = (value: DataView): void => {
526
510
  if (!value) return
527
511
 
528
512
  this.updateTimestamp()
@@ -617,7 +601,7 @@ export abstract class Device extends BaseModel implements IDevice {
617
601
  const target = event.target as BluetoothRemoteGATTCharacteristic
618
602
  if (target && target.value) {
619
603
  // Delegate the data to handleNotifications method
620
- this.handleNotifications(target)
604
+ this.handleNotifications(target.value)
621
605
  }
622
606
  }
623
607
  // Attach the event listener to listen for changes in the characteristic's value
@@ -12,4 +12,6 @@ export { mySmartBoard } from "./device/mysmartboard.model"
12
12
 
13
13
  export { Progressor } from "./device/progressor.model"
14
14
 
15
+ export { SmartBoardPro } from "./device/smartboard-pro.model"
16
+
15
17
  export { WHC06 } from "./device/wh-c06.model"
package/tsconfig.json CHANGED
@@ -4,6 +4,10 @@
4
4
  "compilerOptions": {
5
5
  "outDir": "dist",
6
6
  "rootDir": "src",
7
+ "composite": true,
8
+ "declaration": true,
9
+ "declarationMap": true,
10
+ "sourceMap": true,
7
11
  "noEmit": false
8
12
  }
9
13
  }
package/deno.json DELETED
@@ -1,8 +0,0 @@
1
- {
2
- "name": "@hangtime/grip-connect",
3
- "version": "0.6.1",
4
- "license": "BSD-2-Clause",
5
- "exports": {
6
- ".": "./src/index.ts"
7
- }
8
- }