@science-corporation/synapse 2.2.2 → 2.2.5

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 (91) hide show
  1. package/README.md +13 -0
  2. package/dist/api/api.d.ts +9421 -0
  3. package/dist/api/api.js +23712 -0
  4. package/dist/api/proto.json +1662 -0
  5. package/dist/browser.d.ts +4 -0
  6. package/dist/browser.d.ts.map +1 -0
  7. package/dist/browser.js +22 -0
  8. package/dist/browser.js.map +1 -0
  9. package/dist/config.d.ts +17 -0
  10. package/dist/config.d.ts.map +1 -0
  11. package/dist/config.js +111 -0
  12. package/dist/config.js.map +1 -0
  13. package/dist/device.d.ts +41 -0
  14. package/dist/device.d.ts.map +1 -0
  15. package/dist/device.js +199 -0
  16. package/dist/device.js.map +1 -0
  17. package/dist/index.d.ts +7 -0
  18. package/dist/index.d.ts.map +1 -0
  19. package/dist/index.js +30 -0
  20. package/dist/index.js.map +1 -0
  21. package/dist/node.d.ts +10 -0
  22. package/dist/node.d.ts.map +1 -0
  23. package/dist/node.js +14 -0
  24. package/dist/node.js.map +1 -0
  25. package/dist/nodes/broadband_source.d.ts +11 -0
  26. package/dist/nodes/broadband_source.d.ts.map +1 -0
  27. package/dist/nodes/broadband_source.js +28 -0
  28. package/dist/nodes/broadband_source.js.map +1 -0
  29. package/dist/nodes/disk_writer.d.ts +11 -0
  30. package/dist/nodes/disk_writer.d.ts.map +1 -0
  31. package/dist/nodes/disk_writer.js +28 -0
  32. package/dist/nodes/disk_writer.js.map +1 -0
  33. package/dist/nodes/electrical_stimulation.d.ts +11 -0
  34. package/dist/nodes/electrical_stimulation.d.ts.map +1 -0
  35. package/dist/nodes/electrical_stimulation.js +28 -0
  36. package/dist/nodes/electrical_stimulation.js.map +1 -0
  37. package/dist/nodes/index.d.ts +10 -0
  38. package/dist/nodes/index.d.ts.map +1 -0
  39. package/dist/nodes/index.js +23 -0
  40. package/dist/nodes/index.js.map +1 -0
  41. package/dist/nodes/optical_stimulation.d.ts +11 -0
  42. package/dist/nodes/optical_stimulation.d.ts.map +1 -0
  43. package/dist/nodes/optical_stimulation.js +28 -0
  44. package/dist/nodes/optical_stimulation.js.map +1 -0
  45. package/dist/nodes/spectral_filter.d.ts +11 -0
  46. package/dist/nodes/spectral_filter.d.ts.map +1 -0
  47. package/dist/nodes/spectral_filter.js +28 -0
  48. package/dist/nodes/spectral_filter.js.map +1 -0
  49. package/dist/nodes/spike_binner.d.ts +11 -0
  50. package/dist/nodes/spike_binner.d.ts.map +1 -0
  51. package/dist/nodes/spike_binner.js +28 -0
  52. package/dist/nodes/spike_binner.js.map +1 -0
  53. package/dist/nodes/spike_detector.d.ts +11 -0
  54. package/dist/nodes/spike_detector.d.ts.map +1 -0
  55. package/dist/nodes/spike_detector.js +28 -0
  56. package/dist/nodes/spike_detector.js.map +1 -0
  57. package/dist/nodes/spike_source.d.ts +11 -0
  58. package/dist/nodes/spike_source.d.ts.map +1 -0
  59. package/dist/nodes/spike_source.js +28 -0
  60. package/dist/nodes/spike_source.js.map +1 -0
  61. package/dist/utils/client.d.ts +10 -0
  62. package/dist/utils/client.d.ts.map +1 -0
  63. package/dist/utils/client.js +39 -0
  64. package/dist/utils/client.js.map +1 -0
  65. package/dist/utils/discover.d.ts +10 -0
  66. package/dist/utils/discover.d.ts.map +1 -0
  67. package/dist/utils/discover.js +49 -0
  68. package/dist/utils/discover.js.map +1 -0
  69. package/dist/utils/enum.d.ts +2 -0
  70. package/dist/utils/enum.d.ts.map +1 -0
  71. package/dist/utils/enum.js +13 -0
  72. package/dist/utils/enum.js.map +1 -0
  73. package/dist/utils/index.d.ts +2 -0
  74. package/dist/utils/index.d.ts.map +1 -0
  75. package/dist/utils/index.js +6 -0
  76. package/dist/utils/index.js.map +1 -0
  77. package/dist/utils/ip.d.ts +2 -0
  78. package/dist/utils/ip.d.ts.map +1 -0
  79. package/dist/utils/ip.js +52 -0
  80. package/dist/utils/ip.js.map +1 -0
  81. package/dist/utils/status.d.ts +28 -0
  82. package/dist/utils/status.d.ts.map +1 -0
  83. package/dist/utils/status.js +54 -0
  84. package/dist/utils/status.js.map +1 -0
  85. package/package.json +1 -1
  86. package/scripts/build.sh +5 -3
  87. package/scripts/postinstall.sh +17 -1
  88. package/src/api/api.d.ts +9421 -0
  89. package/src/api/api.js +23712 -0
  90. package/src/api/proto.json +1662 -0
  91. package/src/device.ts +19 -0
@@ -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,10 @@
1
+ export { default as BroadbandSource } from "./broadband_source";
2
+ export { default as DiskWriter } from "./disk_writer";
3
+ export { default as ElectricalStimulation } from "./electrical_stimulation";
4
+ export { default as OpticalStimulation } from "./optical_stimulation";
5
+ export { default as SpectralFilter } from "./spectral_filter";
6
+ export { default as SpikeBinner } from "./spike_binner";
7
+ export { default as SpikeDetector } from "./spike_detector";
8
+ export { default as SpikeSource } from "./spike_source";
9
+ export type * from "../api/api";
10
+ //# 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,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,EAAE,OAAO,IAAI,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,OAAO,IAAI,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC5E,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,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAExD,mBAAmB,YAAY,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.SpikeSource = exports.SpikeDetector = exports.SpikeBinner = exports.SpectralFilter = exports.OpticalStimulation = exports.ElectricalStimulation = exports.DiskWriter = exports.BroadbandSource = void 0;
7
+ var broadband_source_1 = require("./broadband_source");
8
+ Object.defineProperty(exports, "BroadbandSource", { enumerable: true, get: function () { return __importDefault(broadband_source_1).default; } });
9
+ var disk_writer_1 = require("./disk_writer");
10
+ Object.defineProperty(exports, "DiskWriter", { enumerable: true, get: function () { return __importDefault(disk_writer_1).default; } });
11
+ var electrical_stimulation_1 = require("./electrical_stimulation");
12
+ Object.defineProperty(exports, "ElectricalStimulation", { enumerable: true, get: function () { return __importDefault(electrical_stimulation_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_binner_1 = require("./spike_binner");
18
+ Object.defineProperty(exports, "SpikeBinner", { enumerable: true, get: function () { return __importDefault(spike_binner_1).default; } });
19
+ var spike_detector_1 = require("./spike_detector");
20
+ Object.defineProperty(exports, "SpikeDetector", { enumerable: true, get: function () { return __importDefault(spike_detector_1).default; } });
21
+ var spike_source_1 = require("./spike_source");
22
+ Object.defineProperty(exports, "SpikeSource", { enumerable: true, get: function () { return __importDefault(spike_source_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,uDAAgE;AAAvD,oIAAA,OAAO,OAAmB;AACnC,6CAAsD;AAA7C,0HAAA,OAAO,OAAc;AAC9B,mEAA4E;AAAnE,gJAAA,OAAO,OAAyB;AACzC,6DAAsE;AAA7D,0IAAA,OAAO,OAAsB;AACtC,qDAA8D;AAArD,kIAAA,OAAO,OAAkB;AAClC,+CAAwD;AAA/C,4HAAA,OAAO,OAAe;AAC/B,mDAA4D;AAAnD,gIAAA,OAAO,OAAiB;AACjC,+CAAwD;AAA/C,4HAAA,OAAO,OAAe"}
@@ -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 SpikeBinner extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.ISpikeBinnerConfig;
6
+ constructor(config?: synapse.ISpikeBinnerConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): SpikeBinner;
9
+ }
10
+ export default SpikeBinner;
11
+ //# sourceMappingURL=spike_binner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_binner.d.ts","sourceRoot":"","sources":["../../src/nodes/spike_binner.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 SpikeBinner extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kSpikeBinner;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ spikeBinner: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { spikeBinner } = proto;
21
+ if (!spikeBinner) {
22
+ throw new Error("Invalid config, missing spikeBinner");
23
+ }
24
+ return new SpikeBinner(proto.spikeBinner);
25
+ }
26
+ }
27
+ exports.default = SpikeBinner;
28
+ //# sourceMappingURL=spike_binner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_binner.js","sourceRoot":"","sources":["../../src/nodes/spike_binner.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,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class SpikeDetector extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.ISpikeDetectorConfig;
6
+ constructor(config?: synapse.ISpikeDetectorConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.INodeConfig): SpikeDetector;
9
+ }
10
+ export default SpikeDetector;
11
+ //# sourceMappingURL=spike_detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_detector.d.ts","sourceRoot":"","sources":["../../src/nodes/spike_detector.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,IAAI,MAAM,SAAS,CAAC;AAE3B,cAAM,aAAc,SAAQ,IAAI;IAC9B,IAAI,mBAAmC;IACvC,MAAM,EAAE,OAAO,CAAC,oBAAoB,CAAC;gBAEzB,MAAM,GAAE,OAAO,CAAC,oBAAyB;IAMrD,OAAO,IAAI,OAAO,CAAC,UAAU;IAM7B,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,CAAC,WAAW,GAAG,aAAa;CAQ5D;AAED,eAAe,aAAa,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 SpikeDetector extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kSpikeDetector;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ spikeDetector: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { spikeDetector } = proto;
21
+ if (!spikeDetector) {
22
+ throw new Error("Invalid config, missing spikeDetector");
23
+ }
24
+ return new SpikeDetector(proto.spikeDetector);
25
+ }
26
+ }
27
+ exports.default = SpikeDetector;
28
+ //# sourceMappingURL=spike_detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_detector.js","sourceRoot":"","sources":["../../src/nodes/spike_detector.ts"],"names":[],"mappings":";;;;;AAAA,oCAAqC;AACrC,mDAA2B;AAE3B,MAAM,aAAc,SAAQ,cAAI;IAI9B,YAAY,SAAuC,EAAE;QACnD,KAAK,EAAE,CAAC;QAJV,SAAI,GAAG,aAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;QAMrC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO;QACL,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,aAAa,EAAE,IAAI,CAAC,MAAM;SAC3B,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,KAA0B;QACzC,MAAM,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;QAChC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAChD,CAAC;CACF;AAED,kBAAe,aAAa,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { synapse } from "../api/api";
2
+ import Node from "../node";
3
+ declare class SpikeSource extends Node {
4
+ type: synapse.NodeType;
5
+ config: synapse.ISpikeSourceConfig;
6
+ constructor(config?: synapse.ISpikeSourceConfig);
7
+ toProto(): synapse.NodeConfig;
8
+ static fromProto(proto: synapse.NodeConfig): SpikeSource;
9
+ }
10
+ export default SpikeSource;
11
+ //# sourceMappingURL=spike_source.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_source.d.ts","sourceRoot":"","sources":["../../src/nodes/spike_source.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,UAAU,GAAG,WAAW;CAQzD;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 SpikeSource extends node_1.default {
9
+ constructor(config = {}) {
10
+ super();
11
+ this.type = api_1.synapse.NodeType.kSpikeSource;
12
+ this.config = config;
13
+ }
14
+ toProto() {
15
+ return super.toProto({
16
+ spikeSource: this.config,
17
+ });
18
+ }
19
+ static fromProto(proto) {
20
+ const { spikeSource } = proto;
21
+ if (!spikeSource) {
22
+ throw new Error("Invalid config, missing spikeSource");
23
+ }
24
+ return new SpikeSource(proto.spikeSource);
25
+ }
26
+ }
27
+ exports.default = SpikeSource;
28
+ //# sourceMappingURL=spike_source.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spike_source.js","sourceRoot":"","sources":["../../src/nodes/spike_source.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,KAAyB;QACxC,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,10 @@
1
+ import { ChannelCredentials, ChannelOptions } from "@grpc/grpc-js";
2
+ import { Status } from "./status";
3
+ export interface CallOptions {
4
+ deadline?: Date;
5
+ }
6
+ export declare const create: (protoJson: object, serviceName: string) => (address: string, credentials: ChannelCredentials, options?: ChannelOptions) => {
7
+ status: Status;
8
+ client?: any;
9
+ };
10
+ //# 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;AAE1F,OAAO,EAAE,MAAM,EAAc,MAAM,UAAU,CAAC;AAE9C,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,IAAI,CAAC;CACjB;AA6BD,eAAO,MAAM,MAAM,cACL,MAAM,eAAe,MAAM,eAC7B,MAAM,eAAe,kBAAkB,YAAY,cAAc,KAAG;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,GAAG,CAAA;CAO3G,CAAC"}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create = void 0;
4
+ const grpc_js_1 = require("@grpc/grpc-js");
5
+ const proto_loader_1 = require("@grpc/proto-loader");
6
+ const status_1 = require("./status");
7
+ const pick = (obj, path) => {
8
+ return path.split(".").reduce((acc, part) => (acc && acc[part]) || null, obj);
9
+ };
10
+ const loadClient = (protoJson, serviceName) => {
11
+ try {
12
+ const definition = (0, proto_loader_1.fromJSON)(protoJson, {
13
+ keepCase: false,
14
+ arrays: true,
15
+ enums: Number,
16
+ defaults: true,
17
+ oneofs: true,
18
+ });
19
+ const descriptor = (0, grpc_js_1.loadPackageDefinition)(definition);
20
+ const service = pick(descriptor, serviceName);
21
+ if (!service) {
22
+ return { status: new status_1.Status(status_1.StatusCode.INTERNAL, `service ${serviceName} not found in proto definition`) };
23
+ }
24
+ return { status: new status_1.Status(status_1.StatusCode.OK), factory: service };
25
+ }
26
+ catch (error) {
27
+ return { status: new status_1.Status(status_1.StatusCode.INTERNAL, "failed to load proto definition: " + error) };
28
+ }
29
+ };
30
+ const create = (protoJson, serviceName) => (address, credentials, options) => {
31
+ const { status, factory } = loadClient(protoJson, serviceName);
32
+ if (!status.ok()) {
33
+ return { status };
34
+ }
35
+ const client = new factory(address, credentials, options);
36
+ return { status, client };
37
+ };
38
+ exports.create = create;
39
+ //# 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;AAC9C,qCAA8C;AAM9C,MAAM,IAAI,GAAG,CAAC,GAAQ,EAAE,IAAY,EAAE,EAAE;IACtC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,SAAiB,EAAE,WAAmB,EAAqC,EAAE;IAC/F,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAA,uBAAQ,EAAC,SAAgB,EAAE;YAC5C,QAAQ,EAAE,KAAK;YACf,MAAM,EAAE,IAAI;YACZ,KAAK,EAAE,MAAM;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,IAAI;SACb,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,IAAA,+BAAqB,EAAC,UAAiB,CAAC,CAAC;QAE5D,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,WAAW,WAAW,gCAAgC,CAAC,EAAE,CAAC;QAC7G,CAAC;QAED,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,mBAAU,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;IACjE,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,EAAE,MAAM,EAAE,IAAI,eAAM,CAAC,mBAAU,CAAC,QAAQ,EAAE,mCAAmC,GAAG,KAAK,CAAC,EAAE,CAAC;IAClG,CAAC;AACH,CAAC,CAAC;AAEK,MAAM,MAAM,GACjB,CAAC,SAAiB,EAAE,WAAmB,EAAE,EAAE,CAC3C,CAAC,OAAe,EAAE,WAA+B,EAAE,OAAwB,EAAoC,EAAE;IAC/G,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC/D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IACpB,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC5B,CAAC,CAAC;AATS,QAAA,MAAM,UASf"}
@@ -0,0 +1,10 @@
1
+ interface DeviceInfo {
2
+ host: string;
3
+ port: number;
4
+ capability: string;
5
+ name: string;
6
+ serial: string;
7
+ }
8
+ export declare const discover: (timeoutMs?: number) => Promise<DeviceInfo[]>;
9
+ export {};
10
+ //# sourceMappingURL=discover.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.d.ts","sourceRoot":"","sources":["../../src/utils/discover.ts"],"names":[],"mappings":"AAIA,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,0BAAuB,OAAO,CAAC,UAAU,EAAE,CAiD/D,CAAC"}
@@ -0,0 +1,49 @@
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.discover = void 0;
7
+ const dgram_1 = __importDefault(require("dgram"));
8
+ const BROADCAST_PORT = 6470;
9
+ const discover = (timeoutMs = 1000) => {
10
+ return new Promise((resolve, reject) => {
11
+ const devices = [];
12
+ const socket = dgram_1.default.createSocket({ type: "udp4", reuseAddr: true });
13
+ socket.bind(BROADCAST_PORT);
14
+ socket.on("message", (msg, rinfo) => {
15
+ const message = msg.toString("ascii");
16
+ const split = message.split(" ");
17
+ if (split[0] !== "ID" || split.length !== 5) {
18
+ return;
19
+ }
20
+ const [, serial, capability, portStr, name] = split;
21
+ const port = parseInt(portStr);
22
+ if (isNaN(port)) {
23
+ return;
24
+ }
25
+ const deviceInfo = {
26
+ host: rinfo.address,
27
+ port,
28
+ capability,
29
+ name,
30
+ serial,
31
+ };
32
+ if (!devices.find((d) => d.host === deviceInfo.host && d.port === deviceInfo.port && d.serial === deviceInfo.serial)) {
33
+ devices.push(deviceInfo);
34
+ }
35
+ });
36
+ socket.on("error", (err) => {
37
+ socket.close();
38
+ reject(err);
39
+ });
40
+ socket.on("close", () => {
41
+ resolve(devices);
42
+ });
43
+ setTimeout(() => {
44
+ socket.close();
45
+ }, timeoutMs);
46
+ });
47
+ };
48
+ exports.discover = discover;
49
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../src/utils/discover.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,MAAM,cAAc,GAAG,IAAI,CAAC;AAUrB,MAAM,QAAQ,GAAG,CAAC,SAAS,GAAG,IAAI,EAAyB,EAAE;IAClE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAiB,EAAE,CAAC;QACjC,MAAM,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAErE,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAE5B,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAW,EAAE,KAAuB,EAAE,EAAE;YAC5D,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAEjC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC5C,OAAO;YACT,CAAC;YAED,MAAM,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,GAAG,KAAK,CAAC;YACpD,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBAChB,OAAO;YACT,CAAC;YAED,MAAM,UAAU,GAAe;gBAC7B,IAAI,EAAE,KAAK,CAAC,OAAO;gBACnB,IAAI;gBACJ,UAAU;gBACV,IAAI;gBACJ,MAAM;aACP,CAAC;YAEF,IACE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,CAAC,IAAI,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,MAAM,CAAC,EAChH,CAAC;gBACD,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAU,EAAE,EAAE;YAChC,MAAM,CAAC,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACtB,OAAO,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC,CAAC,CAAC;QAEH,UAAU,CAAC,GAAG,EAAE;YACd,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAjDW,QAAA,QAAQ,YAiDnB"}
@@ -0,0 +1,2 @@
1
+ export declare const getName: (enumType: object, value: number | string) => string;
2
+ //# sourceMappingURL=enum.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.d.ts","sourceRoot":"","sources":["../../src/utils/enum.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,aAAc,MAAM,SAAS,MAAM,GAAG,MAAM,KAAG,MAOlE,CAAC"}
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getName = void 0;
4
+ const getName = (enumType, value) => {
5
+ for (const key in enumType) {
6
+ if (enumType[key] === value) {
7
+ return key;
8
+ }
9
+ }
10
+ return "";
11
+ };
12
+ exports.getName = getName;
13
+ //# sourceMappingURL=enum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enum.js","sourceRoot":"","sources":["../../src/utils/enum.ts"],"names":[],"mappings":";;;AAAO,MAAM,OAAO,GAAG,CAAC,QAAgB,EAAE,KAAsB,EAAU,EAAE;IAC1E,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC;YAC5B,OAAO,GAAG,CAAC;QACb,CAAC;IACH,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AAPW,QAAA,OAAO,WAOlB"}
@@ -0,0 +1,2 @@
1
+ export { discover } from "./discover";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.discover = void 0;
4
+ var discover_1 = require("./discover");
5
+ Object.defineProperty(exports, "discover", { enumerable: true, get: function () { return discover_1.discover; } });
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,2 @@
1
+ export declare const getClientIp: () => Promise<string | null>;
2
+ //# sourceMappingURL=ip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip.d.ts","sourceRoot":"","sources":["../../src/utils/ip.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,QAAa,OAAO,CAAC,MAAM,GAAG,IAAI,CAgCzD,CAAC"}
@@ -0,0 +1,52 @@
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
+ exports.getClientIp = void 0;
16
+ const dgram_1 = __importDefault(require("dgram"));
17
+ const getClientIp = () => __awaiter(void 0, void 0, void 0, function* () {
18
+ return new Promise((resolve, reject) => {
19
+ try {
20
+ const socket = dgram_1.default.createSocket("udp4");
21
+ socket.on("error", (err) => {
22
+ console.error(err);
23
+ socket.close();
24
+ reject(err);
25
+ });
26
+ socket.bind(0, () => {
27
+ try {
28
+ socket.connect(53, "8.8.8.8", () => {
29
+ try {
30
+ const address = socket.address();
31
+ socket.close();
32
+ resolve(address.address);
33
+ }
34
+ catch (e) {
35
+ socket.close();
36
+ reject(e);
37
+ }
38
+ });
39
+ }
40
+ catch (e) {
41
+ socket.close();
42
+ reject(e);
43
+ }
44
+ });
45
+ }
46
+ catch (e) {
47
+ reject(e);
48
+ }
49
+ });
50
+ });
51
+ exports.getClientIp = getClientIp;
52
+ //# sourceMappingURL=ip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ip.js","sourceRoot":"","sources":["../../src/utils/ip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,kDAA0B;AAEnB,MAAM,WAAW,GAAG,GAAiC,EAAE;IAC5D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,eAAK,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;YAE1C,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACnB,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,MAAM,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,EAAE;gBAClB,IAAI,CAAC;oBACH,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE;wBACjC,IAAI,CAAC;4BACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjC,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;wBAC3B,CAAC;wBAAC,OAAO,CAAC,EAAE,CAAC;4BACX,MAAM,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,CAAC,CAAC,CAAC,CAAC;wBACZ,CAAC;oBACH,CAAC,CAAC,CAAC;gBACL,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,CAAC,KAAK,EAAE,CAAC;oBACf,MAAM,CAAC,CAAC,CAAC,CAAC;gBACZ,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC;IACH,CAAC,CAAC,CAAC;AACL,CAAC,CAAA,CAAC;AAhCW,QAAA,WAAW,eAgCtB"}
@@ -0,0 +1,28 @@
1
+ import { Status as StatusCode } from "@grpc/grpc-js/build/src/constants";
2
+ import { synapse } from "../api/api";
3
+ export interface IStatus {
4
+ code: StatusCode;
5
+ message: string;
6
+ }
7
+ declare class Status implements IStatus {
8
+ code: StatusCode;
9
+ message: string;
10
+ constructor(code?: StatusCode, message?: string);
11
+ ok(): boolean;
12
+ toJSON(): {
13
+ code: StatusCode;
14
+ message: string;
15
+ };
16
+ static fromJSON(json: {
17
+ code: StatusCode;
18
+ message: string;
19
+ }): Status;
20
+ static fromProto(proto: any): Status;
21
+ }
22
+ export declare const fromDeviceStatusCode: (status: synapse.StatusCode) => StatusCode.OK | StatusCode.UNKNOWN | StatusCode.INVALID_ARGUMENT | StatusCode.PERMISSION_DENIED | StatusCode.FAILED_PRECONDITION | StatusCode.UNIMPLEMENTED | StatusCode.INTERNAL;
23
+ export declare const fromDeviceStatus: ({ code, message }: {
24
+ code: synapse.StatusCode;
25
+ message?: string;
26
+ }) => Status;
27
+ export { Status, StatusCode };
28
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/utils/status.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,mCAAmC,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,UAAU,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,cAAM,MAAO,YAAW,OAAO;IACV,IAAI,EAAE,UAAU;IAAyB,OAAO,EAAE,MAAM;gBAAxD,IAAI,GAAE,UAA0B,EAAS,OAAO,GAAE,MAAW;IAEhF,EAAE;IAIF,MAAM;;;;IAON,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IAI3D,MAAM,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG;CAG5B;AAED,eAAO,MAAM,oBAAoB,WAAY,OAAO,CAAC,UAAU,sLAmB9D,CAAC;AAEF,eAAO,MAAM,gBAAgB,sBAAuB;IAAE,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,WAEjG,CAAC;AAEF,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC"}