@science-corporation/synapse 0.9.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 (123) hide show
  1. package/LICENSE +202 -0
  2. package/README.md +57 -0
  3. package/dist/api/api.d.ts +3973 -0
  4. package/dist/api/api.d.ts.map +1 -0
  5. package/dist/api/api.js +9368 -0
  6. package/dist/api/api.js.map +1 -0
  7. package/dist/api/proto.json +747 -0
  8. package/dist/channel_mask.d.ts +7 -0
  9. package/dist/channel_mask.d.ts.map +1 -0
  10. package/dist/channel_mask.js +14 -0
  11. package/dist/channel_mask.js.map +1 -0
  12. package/dist/config.d.ts +16 -0
  13. package/dist/config.d.ts.map +1 -0
  14. package/dist/config.js +103 -0
  15. package/dist/config.js.map +1 -0
  16. package/dist/demo.d.ts +2 -0
  17. package/dist/demo.d.ts.map +1 -0
  18. package/dist/demo.js +269 -0
  19. package/dist/demo.js.map +1 -0
  20. package/dist/device.d.ts +17 -0
  21. package/dist/device.d.ts.map +1 -0
  22. package/dist/device.js +112 -0
  23. package/dist/device.js.map +1 -0
  24. package/dist/index.d.ts +5 -0
  25. package/dist/index.d.ts.map +1 -0
  26. package/dist/index.js +28 -0
  27. package/dist/index.js.map +1 -0
  28. package/dist/node.d.ts +10 -0
  29. package/dist/node.d.ts.map +1 -0
  30. package/dist/node.js +14 -0
  31. package/dist/node.js.map +1 -0
  32. package/dist/nodes/electrical_broadband.d.ts +11 -0
  33. package/dist/nodes/electrical_broadband.d.ts.map +1 -0
  34. package/dist/nodes/electrical_broadband.js +28 -0
  35. package/dist/nodes/electrical_broadband.js.map +1 -0
  36. package/dist/nodes/electrical_stimulation.d.ts +11 -0
  37. package/dist/nodes/electrical_stimulation.d.ts.map +1 -0
  38. package/dist/nodes/electrical_stimulation.js +28 -0
  39. package/dist/nodes/electrical_stimulation.js.map +1 -0
  40. package/dist/nodes/index.d.ts +9 -0
  41. package/dist/nodes/index.d.ts.map +1 -0
  42. package/dist/nodes/index.js +23 -0
  43. package/dist/nodes/index.js.map +1 -0
  44. package/dist/nodes/optical_broadband.d.ts +11 -0
  45. package/dist/nodes/optical_broadband.d.ts.map +1 -0
  46. package/dist/nodes/optical_broadband.js +28 -0
  47. package/dist/nodes/optical_broadband.js.map +1 -0
  48. package/dist/nodes/optical_stimulation.d.ts +11 -0
  49. package/dist/nodes/optical_stimulation.d.ts.map +1 -0
  50. package/dist/nodes/optical_stimulation.js +28 -0
  51. package/dist/nodes/optical_stimulation.js.map +1 -0
  52. package/dist/nodes/spectral_filter.d.ts +11 -0
  53. package/dist/nodes/spectral_filter.d.ts.map +1 -0
  54. package/dist/nodes/spectral_filter.js +28 -0
  55. package/dist/nodes/spectral_filter.js.map +1 -0
  56. package/dist/nodes/spike_detect.d.ts +11 -0
  57. package/dist/nodes/spike_detect.d.ts.map +1 -0
  58. package/dist/nodes/spike_detect.js +28 -0
  59. package/dist/nodes/spike_detect.js.map +1 -0
  60. package/dist/nodes/stream_in.d.ts +19 -0
  61. package/dist/nodes/stream_in.d.ts.map +1 -0
  62. package/dist/nodes/stream_in.js +66 -0
  63. package/dist/nodes/stream_in.js.map +1 -0
  64. package/dist/nodes/stream_out.d.ts +16 -0
  65. package/dist/nodes/stream_out.d.ts.map +1 -0
  66. package/dist/nodes/stream_out.js +87 -0
  67. package/dist/nodes/stream_out.js.map +1 -0
  68. package/dist/utils/client.d.ts +3 -0
  69. package/dist/utils/client.d.ts.map +1 -0
  70. package/dist/utils/client.js +25 -0
  71. package/dist/utils/client.js.map +1 -0
  72. package/dist/utils/discover.d.ts +15 -0
  73. package/dist/utils/discover.d.ts.map +1 -0
  74. package/dist/utils/discover.js +64 -0
  75. package/dist/utils/discover.js.map +1 -0
  76. package/dist/utils/enum.d.ts +2 -0
  77. package/dist/utils/enum.d.ts.map +1 -0
  78. package/dist/utils/enum.js +13 -0
  79. package/dist/utils/enum.js.map +1 -0
  80. package/dist/utils/index.d.ts +2 -0
  81. package/dist/utils/index.d.ts.map +1 -0
  82. package/dist/utils/index.js +3 -0
  83. package/dist/utils/index.js.map +1 -0
  84. package/package.json +42 -0
  85. package/scripts/build.sh +11 -0
  86. package/scripts/generate.sh +25 -0
  87. package/src/api/api.d.ts +3973 -0
  88. package/src/api/api.js +9991 -0
  89. package/src/api/proto.json +747 -0
  90. package/src/config.ts +110 -0
  91. package/src/demo.ts +303 -0
  92. package/src/device.ts +94 -0
  93. package/src/index.ts +4 -0
  94. package/src/node.ts +18 -0
  95. package/src/nodes/electrical_broadband.ts +30 -0
  96. package/src/nodes/electrical_stimulation.ts +30 -0
  97. package/src/nodes/index.ts +8 -0
  98. package/src/nodes/optical_broadband.ts +30 -0
  99. package/src/nodes/optical_stimulation.ts +30 -0
  100. package/src/nodes/spectral_filter.ts +30 -0
  101. package/src/nodes/spike_detect.ts +30 -0
  102. package/src/nodes/stream_in.ts +83 -0
  103. package/src/nodes/stream_out.ts +92 -0
  104. package/src/utils/client.ts +20 -0
  105. package/src/utils/discover.ts +82 -0
  106. package/src/utils/enum.ts +8 -0
  107. package/src/utils/index.ts +1 -0
  108. package/synapse-api/README.md +15 -0
  109. package/synapse-api/api/channel.proto +9 -0
  110. package/synapse-api/api/datatype.proto +12 -0
  111. package/synapse-api/api/files.proto +46 -0
  112. package/synapse-api/api/node.proto +54 -0
  113. package/synapse-api/api/nodes/electrical_broadband.proto +15 -0
  114. package/synapse-api/api/nodes/electrical_stimulation.proto +13 -0
  115. package/synapse-api/api/nodes/optical_broadband.proto +11 -0
  116. package/synapse-api/api/nodes/optical_stimulation.proto +11 -0
  117. package/synapse-api/api/nodes/spectral_filter.proto +17 -0
  118. package/synapse-api/api/nodes/spike_detect.proto +16 -0
  119. package/synapse-api/api/nodes/stream_in.proto +9 -0
  120. package/synapse-api/api/nodes/stream_out.proto +8 -0
  121. package/synapse-api/api/query.proto +46 -0
  122. package/synapse-api/api/status.proto +42 -0
  123. package/synapse-api/api/synapse.proto +51 -0
package/dist/node.js ADDED
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const api_1 = require("./api/api");
4
+ class Node {
5
+ constructor() {
6
+ this.type = api_1.synapse.NodeType.kNodeTypeUnknown;
7
+ this.device = null;
8
+ }
9
+ toProto(config = {}) {
10
+ return new api_1.synapse.NodeConfig(Object.assign(Object.assign({}, config), { id: this.id, type: this.type }));
11
+ }
12
+ }
13
+ exports.default = Node;
14
+ //# sourceMappingURL=node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../src/node.ts"],"names":[],"mappings":";;AAAA,mCAAoC;AAGpC,MAAM,IAAI;IAAV;QAEE,SAAI,GAAqB,aAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAC3D,WAAM,GAAkB,IAAI,CAAC;IAS/B,CAAC;IAPC,OAAO,CAAC,SAA8B,EAAE;QACtC,OAAO,IAAI,aAAO,CAAC,UAAU,iCACxB,MAAM,KACT,EAAE,EAAE,IAAI,CAAC,EAAE,EACX,IAAI,EAAE,IAAI,CAAC,IAAI,IACf,CAAC;IACL,CAAC;CACF;AAED,kBAAe,IAAI,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class ElectricalBroadband extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.IElectricalBroadbandConfig;
6
+ constructor(config?: synapse.IElectricalBroadbandConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.NodeConfig): ElectricalBroadband;
9
+ }
10
+ export default ElectricalBroadband;
11
+ //# sourceMappingURL=electrical_broadband.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electrical_broadband.d.ts","sourceRoot":"","sources":["../../src/nodes/electrical_broadband.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,mBAAoB,SAAQ,IAAI;IACpC,IAAI,mBAAyC;IAC7C,MAAM,EAAE,OAAO,CAAC,0BAA0B,CAAC;gBAE/B,MAAM,GAAE,OAAO,CAAC,0BAA+B;IAM3D,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,GAAG,mBAAmB;CAQjE;AAED,eAAe,mBAAmB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("../api/api");
7
+ const node_1 = __importDefault(require("../node"));
8
+ class ElectricalBroadband extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kElectricalBroadband;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ electricalBroadband: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { electricalBroadband } = proto;
21
+ if (!electricalBroadband) {
22
+ throw new Error("Invalid config, missing electricalBroadband");
23
+ }
24
+ return new ElectricalBroadband(proto.electricalBroadband);
25
+ }
26
+ }
27
+ exports.default = ElectricalBroadband;
28
+ //# sourceMappingURL=electrical_broadband.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electrical_broadband.js","sourceRoot":"","sources":["../../src/nodes/electrical_broadband.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,mBAAoB,SAAQ,cAAI;IAIpC,YAAY,SAA6C,EAAE;QACzD,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QAM3C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,mBAAmB,EAAE,IAAI,CAAC,MAAM;SACjC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAAyB;QACxC,MAAM,EAAE,mBAAmB,EAAE,GAAG,KAAK,CAAC;QACtC,IAAI,CAAC,mBAAmB,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,mBAAmB,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;IAC5D,CAAC;CACF;AAED,kBAAe,mBAAmB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class ElectricalStimulation extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.IElectricalStimulationConfig;
6
+ constructor(config?: synapse.IElectricalStimulationConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): ElectricalStimulation;
9
+ }
10
+ export default ElectricalStimulation;
11
+ //# sourceMappingURL=electrical_stimulation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electrical_stimulation.d.ts","sourceRoot":"","sources":["../../src/nodes/electrical_stimulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,qBAAsB,SAAQ,IAAI;IACtC,IAAI,mBAA2C;IAC/C,MAAM,EAAE,OAAO,CAAC,4BAA4B,CAAC;gBAEjC,MAAM,GAAE,OAAO,CAAC,4BAAiC;IAM7D,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,qBAAqB;CAQpE;AAED,eAAe,qBAAqB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("../api/api");
7
+ const node_1 = __importDefault(require("../node"));
8
+ class ElectricalStimulation extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kElectricalStimulation;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ electricalStimulation: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { electricalStimulation } = proto;
21
+ if (!electricalStimulation) {
22
+ throw new Error("Invalid config, missing electricalStimulation");
23
+ }
24
+ return new ElectricalStimulation(proto.electricalStimulation);
25
+ }
26
+ }
27
+ exports.default = ElectricalStimulation;
28
+ //# sourceMappingURL=electrical_stimulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"electrical_stimulation.js","sourceRoot":"","sources":["../../src/nodes/electrical_stimulation.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,qBAAsB,SAAQ,cAAI;IAItC,YAAY,SAA+C,EAAE;QAC3D,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC;QAM7C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,qBAAqB,EAAE,IAAI,CAAC,MAAM;SACnC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,qBAAqB,EAAE,GAAG,KAAK,CAAC;QACxC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,IAAI,qBAAqB,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC;CACF;AAED,kBAAe,qBAAqB,CAAC"}
@@ -0,0 +1,9 @@
1
+ export { default as ElectricalBroadband } from "./electrical_broadband";
2
+ export { default as ElectricalStimulation } from "./electrical_stimulation";
3
+ export { default as OpticalBroadband } from "./optical_broadband";
4
+ export { default as OpticalStimulation } from "./optical_stimulation";
5
+ export { default as SpectralFilter } from "./spectral_filter";
6
+ export { default as SpikeDetect } from "./spike_detect";
7
+ export { default as StreamIn } from "./stream_in";
8
+ export { default as StreamOut } from "./stream_out";
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,OAAO,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACtE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,cAAc,CAAC"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StreamOut = exports.StreamIn = exports.SpikeDetect = exports.SpectralFilter = exports.OpticalStimulation = exports.OpticalBroadband = exports.ElectricalStimulation = exports.ElectricalBroadband = void 0;
7
+ var electrical_broadband_1 = require("./electrical_broadband");
8
+ Object.defineProperty(exports, "ElectricalBroadband", { enumerable: true, get: function () { return __importDefault(electrical_broadband_1).default; } });
9
+ var electrical_stimulation_1 = require("./electrical_stimulation");
10
+ Object.defineProperty(exports, "ElectricalStimulation", { enumerable: true, get: function () { return __importDefault(electrical_stimulation_1).default; } });
11
+ var optical_broadband_1 = require("./optical_broadband");
12
+ Object.defineProperty(exports, "OpticalBroadband", { enumerable: true, get: function () { return __importDefault(optical_broadband_1).default; } });
13
+ var optical_stimulation_1 = require("./optical_stimulation");
14
+ Object.defineProperty(exports, "OpticalStimulation", { enumerable: true, get: function () { return __importDefault(optical_stimulation_1).default; } });
15
+ var spectral_filter_1 = require("./spectral_filter");
16
+ Object.defineProperty(exports, "SpectralFilter", { enumerable: true, get: function () { return __importDefault(spectral_filter_1).default; } });
17
+ var spike_detect_1 = require("./spike_detect");
18
+ Object.defineProperty(exports, "SpikeDetect", { enumerable: true, get: function () { return __importDefault(spike_detect_1).default; } });
19
+ var stream_in_1 = require("./stream_in");
20
+ Object.defineProperty(exports, "StreamIn", { enumerable: true, get: function () { return __importDefault(stream_in_1).default; } });
21
+ var stream_out_1 = require("./stream_out");
22
+ Object.defineProperty(exports, "StreamOut", { enumerable: true, get: function () { return __importDefault(stream_out_1).default; } });
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAwE;AAA/D,4IAAA,OAAO,OAAuB;AACvC,mEAA4E;AAAnE,gJAAA,OAAO,OAAyB;AACzC,yDAAkE;AAAzD,sIAAA,OAAO,OAAoB;AACpC,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,qDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,+CAAwD;AAA/C,4HAAA,OAAO,OAAe;AAC/B,yCAAkD;AAAzC,sHAAA,OAAO,OAAY;AAC5B,2CAAoD;AAA3C,wHAAA,OAAO,OAAa"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class OpticalBroadband extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.IOpticalBroadbandConfig;
6
+ constructor(config?: synapse.IOpticalBroadbandConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): OpticalBroadband;
9
+ }
10
+ export default OpticalBroadband;
11
+ //# sourceMappingURL=optical_broadband.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optical_broadband.d.ts","sourceRoot":"","sources":["../../src/nodes/optical_broadband.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,gBAAiB,SAAQ,IAAI;IACjC,IAAI,mBAAsC;IAC1C,MAAM,EAAE,OAAO,CAAC,uBAAuB,CAAC;gBAE5B,MAAM,GAAE,OAAO,CAAC,uBAA4B;IAMxD,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,gBAAgB;CAQ/D;AAED,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("../api/api");
7
+ const node_1 = __importDefault(require("../node"));
8
+ class OpticalBroadband extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kOpticalBroadband;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ opticalBroadband: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { opticalBroadband } = proto;
21
+ if (!opticalBroadband) {
22
+ throw new Error("Invalid config, missing opticalBroadband");
23
+ }
24
+ return new OpticalBroadband(proto.opticalBroadband);
25
+ }
26
+ }
27
+ exports.default = OpticalBroadband;
28
+ //# sourceMappingURL=optical_broadband.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optical_broadband.js","sourceRoot":"","sources":["../../src/nodes/optical_broadband.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,gBAAiB,SAAQ,cAAI;IAIjC,YAAY,SAA0C,EAAE;QACtD,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QAMxC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,gBAAgB,EAAE,IAAI,CAAC,MAAM;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;QACnC,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAC9D,CAAC;QAED,OAAO,IAAI,gBAAgB,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACtD,CAAC;CACF;AAED,kBAAe,gBAAgB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class OpticalStimulation extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.IOpticalStimulationConfig;
6
+ constructor(config?: synapse.IOpticalStimulationConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): OpticalStimulation;
9
+ }
10
+ export default OpticalStimulation;
11
+ //# sourceMappingURL=optical_stimulation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optical_stimulation.d.ts","sourceRoot":"","sources":["../../src/nodes/optical_stimulation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,kBAAmB,SAAQ,IAAI;IACnC,IAAI,mBAAwC;IAC5C,MAAM,EAAE,OAAO,CAAC,yBAAyB,CAAC;gBAE9B,MAAM,GAAE,OAAO,CAAC,yBAA8B;IAM1D,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,kBAAkB;CAQjE;AAED,eAAe,kBAAkB,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("../api/api");
7
+ const node_1 = __importDefault(require("../node"));
8
+ class OpticalStimulation extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kOpticalStimulation;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ opticalStimulation: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { opticalStimulation } = proto;
21
+ if (!opticalStimulation) {
22
+ throw new Error("Invalid config, missing opticalStimulation");
23
+ }
24
+ return new OpticalStimulation(proto.opticalStimulation);
25
+ }
26
+ }
27
+ exports.default = OpticalStimulation;
28
+ //# sourceMappingURL=optical_stimulation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"optical_stimulation.js","sourceRoot":"","sources":["../../src/nodes/optical_stimulation.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,kBAAmB,SAAQ,cAAI;IAInC,YAAY,SAA4C,EAAE;QACxD,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAM1C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,kBAAkB,EAAE,IAAI,CAAC,MAAM;SAChC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,kBAAkB,EAAE,GAAG,KAAK,CAAC;QACrC,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAChE,CAAC;QAED,OAAO,IAAI,kBAAkB,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;IAC1D,CAAC;CACF;AAED,kBAAe,kBAAkB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class SpectralFilter extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.ISpectralFilterConfig;
6
+ constructor(config?: synapse.ISpectralFilterConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): SpectralFilter;
9
+ }
10
+ export default SpectralFilter;
11
+ //# sourceMappingURL=spectral_filter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spectral_filter.d.ts","sourceRoot":"","sources":["../../src/nodes/spectral_filter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,cAAe,SAAQ,IAAI;IAC/B,IAAI,mBAAoC;IACxC,MAAM,EAAE,OAAO,CAAC,qBAAqB,CAAC;gBAE1B,MAAM,GAAE,OAAO,CAAC,qBAA0B;IAMtD,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,cAAc;CAQ7D;AAED,eAAe,cAAc,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("../api/api");
7
+ const node_1 = __importDefault(require("../node"));
8
+ class SpectralFilter extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kSpectralFilter;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ spectralFilter: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { spectralFilter } = proto;
21
+ if (!spectralFilter) {
22
+ throw new Error("Invalid config, missing spectralFilter");
23
+ }
24
+ return new SpectralFilter(proto.spectralFilter);
25
+ }
26
+ }
27
+ exports.default = SpectralFilter;
28
+ //# sourceMappingURL=spectral_filter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spectral_filter.js","sourceRoot":"","sources":["../../src/nodes/spectral_filter.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,cAAe,SAAQ,cAAI;IAI/B,YAAY,SAAwC,EAAE;QACpD,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,eAAe,CAAC;QAMtC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,cAAc,EAAE,IAAI,CAAC,MAAM;SAC5B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC;QACjC,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO,IAAI,cAAc,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;IAClD,CAAC;CACF;AAED,kBAAe,cAAc,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class SpikeDetect extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.ISpikeDetectConfig;
6
+ constructor(config?: synapse.ISpikeDetectConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): SpikeDetect;
9
+ }
10
+ export default SpikeDetect;
11
+ //# sourceMappingURL=spike_detect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_detect.d.ts","sourceRoot":"","sources":["../../src/nodes/spike_detect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,WAAY,SAAQ,IAAI;IAC5B,IAAI,mBAAiC;IACrC,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC;gBAEvB,MAAM,GAAE,OAAO,CAAC,kBAAuB;IAMnD,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,WAAW;CAQ1D;AAED,eAAe,WAAW,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const api_1 = require("../api/api");
7
+ const node_1 = __importDefault(require("../node"));
8
+ class SpikeDetect extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kSpikeDetect;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ spikeDetect: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { spikeDetect } = proto;
21
+ if (!spikeDetect) {
22
+ throw new Error("Invalid config, missing spikeDetect");
23
+ }
24
+ return new SpikeDetect(proto.spikeDetect);
25
+ }
26
+ }
27
+ exports.default = SpikeDetect;
28
+ //# sourceMappingURL=spike_detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_detect.js","sourceRoot":"","sources":["../../src/nodes/spike_detect.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,WAAY,SAAQ,cAAI;IAI5B,YAAY,SAAqC,EAAE;QACjD,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;QAMnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,WAAW,EAAE,IAAI,CAAC,MAAM;SACzB,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,WAAW,EAAE,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IAC5C,CAAC;CACF;AAED,kBAAe,WAAW,CAAC"}
@@ -0,0 +1,19 @@
1
+ import dgram from "dgram";
2
+ import { synapse } from "../api/api";
3
+ import Node from "../node";
4
+ export interface StreamInArgs {
5
+ dataType: synapse.DataType;
6
+ shape?: number[];
7
+ }
8
+ declare class StreamIn extends Node {
9
+ type: synapse.NodeType;
10
+ config: synapse.IStreamInConfig;
11
+ _socket: dgram.Socket;
12
+ constructor(config?: synapse.IStreamInConfig);
13
+ write(data: string | Buffer): boolean;
14
+ toProto(): synapse.NodeConfig;
15
+ _getAddr: () => string | null;
16
+ static fromProto(proto: synapse.INodeConfig): StreamIn;
17
+ }
18
+ export default StreamIn;
19
+ //# sourceMappingURL=stream_in.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream_in.d.ts","sourceRoot":"","sources":["../../src/nodes/stream_in.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,cAAM,QAAS,SAAQ,IAAI;IACzB,IAAI,mBAA8B;IAClC,MAAM,EAAE,OAAO,CAAC,eAAe,CAAC;IAChC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;gBAEV,MAAM,GAAE,OAAO,CAAC,eAAoB;IAKhD,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO;IAsCrC,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,QAAQ,QAAO,MAAM,GAAG,IAAI,CAM1B;IAEF,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,QAAQ;CAQvD;AAED,eAAe,QAAQ,CAAC"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const dgram_1 = __importDefault(require("dgram"));
7
+ const api_1 = require("../api/api");
8
+ const node_1 = __importDefault(require("../node"));
9
+ class StreamIn extends node_1.default {
10
+ constructor(config = {}) {
11
+ super();
12
+ this.type = api_1.synapse.NodeType.kStreamIn;
13
+ this._getAddr = () => {
14
+ if (this.device === null) {
15
+ return null;
16
+ }
17
+ return this.device.uri.split(":")[0];
18
+ };
19
+ this.config = config;
20
+ }
21
+ write(data) {
22
+ if (this.device === null) {
23
+ return false;
24
+ }
25
+ const socket = this.device.sockets.find((s) => s.nodeId === this.id);
26
+ if (!socket) {
27
+ return false;
28
+ }
29
+ const split = socket.bind.split(":");
30
+ if (split.length !== 2) {
31
+ return false;
32
+ }
33
+ const port = parseInt(split[1]);
34
+ if (isNaN(port)) {
35
+ return false;
36
+ }
37
+ const host = split[0];
38
+ if (!host || !port) {
39
+ return false;
40
+ }
41
+ if (!this._socket) {
42
+ this._socket = dgram_1.default.createSocket("udp4");
43
+ }
44
+ try {
45
+ this._socket.send(data, port, host);
46
+ }
47
+ catch (e) {
48
+ return false;
49
+ }
50
+ return true;
51
+ }
52
+ toProto() {
53
+ return super.toProto({
54
+ streamIn: this.config,
55
+ });
56
+ }
57
+ static fromProto(proto) {
58
+ const { streamIn } = proto;
59
+ if (!streamIn) {
60
+ throw new Error("Invalid config, missing streamIn");
61
+ }
62
+ return new StreamIn(streamIn);
63
+ }
64
+ }
65
+ exports.default = StreamIn;
66
+ //# sourceMappingURL=stream_in.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream_in.js","sourceRoot":"","sources":["../../src/nodes/stream_in.ts"],"names":[],"mappings":";;;;;AAAA,kDAA0B;AAE1B,oCAAqC;AACrC,mDAA2B;AAO3B,MAAM,QAAS,SAAQ,cAAI;IAKzB,YAAY,SAAkC,EAAE;QAC9C,KAAK,EAAE,CAAC;QALV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;QAqDlC,aAAQ,GAAG,GAAkB,EAAE;YAC7B,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;gBACzB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACvC,CAAC,CAAC;QArDA,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,IAAqB;QACzB,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;YACzB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;QACrE,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QAChC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,eAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;QAC5C,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,QAAQ,EAAE,IAAI,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,CAAC;IAUD,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;CACF;AAED,kBAAe,QAAQ,CAAC"}
@@ -0,0 +1,16 @@
1
+ import dgram from "dgram";
2
+ import { synapse } from "../api/api";
3
+ import Node from "../node";
4
+ declare class StreamOut extends Node {
5
+ type: synapse.NodeType;
6
+ config: synapse.IStreamOutConfig;
7
+ _socket: dgram.Socket;
8
+ _onMessage: ((msg: Buffer) => void) | null;
9
+ constructor(config: synapse.IStreamOutConfig, onMessage?: (msg: Buffer) => void);
10
+ start(): Promise<any>;
11
+ stop(): Promise<any>;
12
+ toProto(): synapse.NodeConfig;
13
+ static fromProto(proto: synapse.INodeConfig): StreamOut;
14
+ }
15
+ export default StreamOut;
16
+ //# sourceMappingURL=stream_out.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream_out.d.ts","sourceRoot":"","sources":["../../src/nodes/stream_out.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAI3B,cAAM,SAAU,SAAQ,IAAI;IAC1B,IAAI,mBAA+B;IACnC,MAAM,EAAE,OAAO,CAAC,gBAAgB,CAAC;IACjC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC;IACtB,UAAU,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;gBAE/B,MAAM,EAAE,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI;IAOzE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC;IA+CrB,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC;IAQ1B,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,SAAS;CAQxD;AAED,eAAe,SAAS,CAAC"}
@@ -0,0 +1,87 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const dgram_1 = __importDefault(require("dgram"));
16
+ const api_1 = require("../api/api");
17
+ const node_1 = __importDefault(require("../node"));
18
+ const kMulticastTTL = 3;
19
+ class StreamOut extends node_1.default {
20
+ constructor(config, onMessage) {
21
+ super();
22
+ this.type = api_1.synapse.NodeType.kStreamOut;
23
+ this.config = config;
24
+ this._onMessage = onMessage;
25
+ }
26
+ start() {
27
+ return __awaiter(this, void 0, void 0, function* () {
28
+ if (this.device === null) {
29
+ return false;
30
+ }
31
+ const socket = this.device.sockets.find((s) => s.nodeId === this.id);
32
+ if (!socket) {
33
+ return false;
34
+ }
35
+ const split = socket.bind.split(":");
36
+ if (split.length !== 2) {
37
+ return false;
38
+ }
39
+ const port = parseInt(split[1]);
40
+ if (isNaN(port)) {
41
+ return false;
42
+ }
43
+ const host = this.config.multicastGroup;
44
+ if (!host) {
45
+ return false;
46
+ }
47
+ this._socket = dgram_1.default.createSocket("udp4");
48
+ this._socket.on("error", (err) => { });
49
+ this._socket.on("message", (msg, rinfo) => {
50
+ var _a;
51
+ (_a = this._onMessage) === null || _a === void 0 ? void 0 : _a.call(this, msg);
52
+ });
53
+ this._socket.bind(port, host, () => {
54
+ if (!this._socket) {
55
+ return;
56
+ }
57
+ if (this.config.multicastGroup) {
58
+ this._socket.setMulticastTTL(kMulticastTTL);
59
+ this._socket.addMembership(this.config.multicastGroup);
60
+ }
61
+ });
62
+ return true;
63
+ });
64
+ }
65
+ stop() {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ if (this._socket) {
68
+ this._socket.close();
69
+ }
70
+ return true;
71
+ });
72
+ }
73
+ toProto() {
74
+ return super.toProto({
75
+ streamOut: this.config,
76
+ });
77
+ }
78
+ static fromProto(proto) {
79
+ const { streamOut } = proto;
80
+ if (!streamOut) {
81
+ throw new Error("Invalid config, missing streamOut");
82
+ }
83
+ return new StreamOut(streamOut);
84
+ }
85
+ }
86
+ exports.default = StreamOut;
87
+ //# sourceMappingURL=stream_out.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream_out.js","sourceRoot":"","sources":["../../src/nodes/stream_out.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { ChannelCredentials, ChannelOptions } from "@grpc/grpc-js";
2
+ export declare const create: (address: string, credentials: ChannelCredentials, options?: ChannelOptions) => any;
3
+ //# sourceMappingURL=client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAyB,MAAM,eAAe,CAAC;AAiB1F,eAAO,MAAM,MAAM,YAAa,MAAM,eAAe,kBAAkB,YAAY,cAAc,QAEhG,CAAC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.create = void 0;
7
+ const grpc_js_1 = require("@grpc/grpc-js");
8
+ const proto_loader_1 = require("@grpc/proto-loader");
9
+ const proto_json_1 = __importDefault(require("../api/proto.json"));
10
+ const loadClient = () => {
11
+ const definition = (0, proto_loader_1.fromJSON)(proto_json_1.default, {
12
+ keepCase: false,
13
+ arrays: true,
14
+ enums: Number,
15
+ defaults: true,
16
+ oneofs: true,
17
+ });
18
+ const descriptor = (0, grpc_js_1.loadPackageDefinition)(definition);
19
+ return descriptor.synapse.SynapseDevice;
20
+ };
21
+ const create = (address, credentials, options) => {
22
+ return new (loadClient())(address, credentials, options);
23
+ };
24
+ exports.create = create;
25
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/utils/client.ts"],"names":[],"mappings":";;;;;;AAAA,2CAA0F;AAC1F,qDAA8C;AAE9C,mEAA0C;AAE1C,MAAM,UAAU,GAAG,GAAG,EAAE;IACtB,MAAM,UAAU,GAAG,IAAA,uBAAQ,EAAC,oBAAgB,EAAE;QAC5C,QAAQ,EAAE,KAAK;QACf,MAAM,EAAE,IAAI;QACZ,KAAK,EAAE,MAAM;QACb,QAAQ,EAAE,IAAI;QACd,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,UAAiB,CAAC,CAAC;IAC5D,OAAQ,UAAU,CAAC,OAAe,CAAC,aAAa,CAAC;AACnD,CAAC,CAAC;AAEK,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,WAA+B,EAAE,OAAwB,EAAE,EAAE;IACnG,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;AAC3D,CAAC,CAAC;AAFW,QAAA,MAAM,UAEjB"}
@@ -0,0 +1,15 @@
1
+ interface DiscoverArgs {
2
+ host: string;
3
+ port: number;
4
+ timeoutMs?: number;
5
+ }
6
+ declare class DeviceAdvertisement {
7
+ host: string;
8
+ port: number;
9
+ serial: string;
10
+ capability: string;
11
+ name: string;
12
+ }
13
+ export declare const discover: (args?: DiscoverArgs) => Promise<DeviceAdvertisement[]>;
14
+ export {};
15
+ //# sourceMappingURL=discover.d.ts.map