@biorate/schema-registry 2.2.1 → 2.2.3

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 (42) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/coverage/clover.xml +2 -2
  3. package/coverage/index.html +1 -1
  4. package/coverage/src/api.ts.html +1 -1
  5. package/coverage/src/errors.ts.html +1 -1
  6. package/coverage/src/index.html +1 -1
  7. package/coverage/src/index.ts.html +1 -1
  8. package/coverage/src/interfaces.ts.html +1 -1
  9. package/coverage/tests/__mocks__/index.html +1 -1
  10. package/coverage/tests/__mocks__/index.ts.html +1 -1
  11. package/coverage/tests/index.html +1 -1
  12. package/coverage/tests/test.avsc.json.html +1 -1
  13. package/dist/cjs/index.js +18 -0
  14. package/dist/cjs/index.js.map +1 -0
  15. package/dist/cjs/src/api.js +205 -0
  16. package/dist/cjs/src/api.js.map +1 -0
  17. package/dist/cjs/src/errors.js +19 -0
  18. package/dist/cjs/src/errors.js.map +1 -0
  19. package/dist/cjs/src/index.js +51 -0
  20. package/dist/cjs/src/index.js.map +1 -0
  21. package/dist/cjs/src/interfaces.js +3 -0
  22. package/dist/cjs/src/interfaces.js.map +1 -0
  23. package/dist/cjs/tsconfig.build.cjs.tsbuildinfo +1 -0
  24. package/dist/esm/index.mjs +2 -0
  25. package/dist/esm/index.mjs.map +1 -0
  26. package/dist/esm/src/api.mjs +201 -0
  27. package/dist/esm/src/api.mjs.map +1 -0
  28. package/dist/esm/src/errors.mjs +14 -0
  29. package/dist/esm/src/errors.mjs.map +1 -0
  30. package/dist/esm/src/index.mjs +34 -0
  31. package/dist/esm/src/index.mjs.map +1 -0
  32. package/dist/esm/src/interfaces.mjs +2 -0
  33. package/dist/esm/src/interfaces.mjs.map +1 -0
  34. package/dist/esm/tsconfig.build.esm.tsbuildinfo +1 -0
  35. package/dist/tsconfig.build.tsbuildinfo +1 -1
  36. package/dist/types/index.d.ts +1 -0
  37. package/dist/types/src/api.d.ts +61 -0
  38. package/dist/types/src/errors.d.ts +7 -0
  39. package/dist/types/src/index.d.ts +11 -0
  40. package/dist/types/src/interfaces.d.ts +36 -0
  41. package/dist/types/tsconfig.build.types.tsbuildinfo +1 -0
  42. package/package.json +6 -6
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ ## [2.2.3](https://github.com/biorate/core/compare/@biorate/schema-registry@2.2.2...@biorate/schema-registry@2.2.3) (2026-05-04)
7
+
8
+ **Note:** Version bump only for package @biorate/schema-registry
9
+
10
+ ## [2.2.2](https://github.com/biorate/core/compare/@biorate/schema-registry@2.2.1...@biorate/schema-registry@2.2.2) (2026-05-04)
11
+
12
+ **Note:** Version bump only for package @biorate/schema-registry
13
+
6
14
  ## [2.2.1](https://github.com/biorate/core/compare/@biorate/schema-registry@2.2.0...@biorate/schema-registry@2.2.1) (2026-04-21)
7
15
 
8
16
  **Note:** Version bump only for package @biorate/schema-registry
@@ -1,6 +1,6 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <coverage generated="1776775307672" clover="3.2.0">
3
- <project timestamp="1776775307673" name="All files">
2
+ <coverage generated="1777892041290" clover="3.2.0">
3
+ <project timestamp="1777892041291" name="All files">
4
4
  <metrics statements="87" coveredstatements="75" conditionals="7" coveredconditionals="4" methods="34" coveredmethods="29" elements="128" coveredelements="108" complexity="0" loc="87" ncloc="87" packages="3" files="6" classes="6"/>
5
5
  <package name="src">
6
6
  <metrics statements="81" coveredstatements="69" conditionals="7" coveredconditionals="4" methods="34" coveredmethods="29"/>
@@ -131,7 +131,7 @@
131
131
  <div class='footer quiet pad2 space-top1 center small'>
132
132
  Code coverage generated by
133
133
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
134
- at 2026-04-21T12:41:47.660Z
134
+ at 2026-05-04T10:54:01.274Z
135
135
  </div>
136
136
  <script src="prettify.js"></script>
137
137
  <script>
@@ -787,7 +787,7 @@ export const create = (config: ISchemaRegistryConfig) =&gt; {
787
787
  <div class='footer quiet pad2 space-top1 center small'>
788
788
  Code coverage generated by
789
789
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
790
- at 2026-04-21T12:41:47.660Z
790
+ at 2026-05-04T10:54:01.274Z
791
791
  </div>
792
792
  <script src="../prettify.js"></script>
793
793
  <script>
@@ -115,7 +115,7 @@ export class SchemaRegistryAvroSchemaParseError extends BaseError {
115
115
  <div class='footer quiet pad2 space-top1 center small'>
116
116
  Code coverage generated by
117
117
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
118
- at 2026-04-21T12:41:47.660Z
118
+ at 2026-05-04T10:54:01.274Z
119
119
  </div>
120
120
  <script src="../prettify.js"></script>
121
121
  <script>
@@ -146,7 +146,7 @@
146
146
  <div class='footer quiet pad2 space-top1 center small'>
147
147
  Code coverage generated by
148
148
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
149
- at 2026-04-21T12:41:47.660Z
149
+ at 2026-05-04T10:54:01.274Z
150
150
  </div>
151
151
  <script src="../prettify.js"></script>
152
152
  <script>
@@ -364,7 +364,7 @@ export class SchemaRegistryConnector extends Connector&lt;
364
364
  <div class='footer quiet pad2 space-top1 center small'>
365
365
  Code coverage generated by
366
366
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
367
- at 2026-04-21T12:41:47.660Z
367
+ at 2026-05-04T10:54:01.274Z
368
368
  </div>
369
369
  <script src="../prettify.js"></script>
370
370
  <script>
@@ -139,7 +139,7 @@ export type ICompatibilities =
139
139
  <div class='footer quiet pad2 space-top1 center small'>
140
140
  Code coverage generated by
141
141
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
142
- at 2026-04-21T12:41:47.660Z
142
+ at 2026-05-04T10:54:01.274Z
143
143
  </div>
144
144
  <script src="../prettify.js"></script>
145
145
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-04-21T12:41:47.660Z
104
+ at 2026-05-04T10:54:01.274Z
105
105
  </div>
106
106
  <script src="../../prettify.js"></script>
107
107
  <script>
@@ -130,7 +130,7 @@ export const root = container.get&lt;Root&gt;(Root);
130
130
  <div class='footer quiet pad2 space-top1 center small'>
131
131
  Code coverage generated by
132
132
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
133
- at 2026-04-21T12:41:47.660Z
133
+ at 2026-05-04T10:54:01.274Z
134
134
  </div>
135
135
  <script src="../../prettify.js"></script>
136
136
  <script>
@@ -101,7 +101,7 @@
101
101
  <div class='footer quiet pad2 space-top1 center small'>
102
102
  Code coverage generated by
103
103
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
104
- at 2026-04-21T12:41:47.660Z
104
+ at 2026-05-04T10:54:01.274Z
105
105
  </div>
106
106
  <script src="../prettify.js"></script>
107
107
  <script>
@@ -127,7 +127,7 @@
127
127
  <div class='footer quiet pad2 space-top1 center small'>
128
128
  Code coverage generated by
129
129
  <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
130
- at 2026-04-21T12:41:47.660Z
130
+ at 2026-05-04T10:54:01.274Z
131
131
  </div>
132
132
  <script src="../prettify.js"></script>
133
133
  <script>
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./src"), exports);
18
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wCAAsB"}
@@ -0,0 +1,205 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.create = void 0;
4
+ const axios_prometheus_1 = require("@biorate/axios-prometheus");
5
+ const avsc_1 = require("avsc");
6
+ const errors_1 = require("./errors");
7
+ const create = (config) => {
8
+ const cache = new Map();
9
+ class SchemaRegistryApi extends axios_prometheus_1.AxiosPrometheus {
10
+ constructor() {
11
+ super(...arguments);
12
+ this.baseURL = config.baseURL;
13
+ this.headers = config.headers;
14
+ }
15
+ }
16
+ class Ping extends SchemaRegistryApi {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.url = '/';
20
+ this.method = 'get';
21
+ }
22
+ static fetch() {
23
+ return this._fetch({});
24
+ }
25
+ }
26
+ class GetSchemasById extends SchemaRegistryApi {
27
+ constructor() {
28
+ super(...arguments);
29
+ this.url = '/schemas/ids/:id';
30
+ this.method = 'get';
31
+ }
32
+ static fetch(id) {
33
+ return this._fetch({ path: { id } });
34
+ }
35
+ }
36
+ class GetSchemasTypes extends SchemaRegistryApi {
37
+ constructor() {
38
+ super(...arguments);
39
+ this.url = '/schemas/types';
40
+ this.method = 'get';
41
+ }
42
+ static fetch() {
43
+ return this._fetch({});
44
+ }
45
+ }
46
+ class GetSchemasVersionsById extends SchemaRegistryApi {
47
+ constructor() {
48
+ super(...arguments);
49
+ this.url = '/schemas/ids/:id/versions';
50
+ this.method = 'get';
51
+ }
52
+ static fetch(id) {
53
+ return this._fetch({ path: { id } });
54
+ }
55
+ }
56
+ class GetSubjects extends SchemaRegistryApi {
57
+ constructor() {
58
+ super(...arguments);
59
+ this.url = '/subjects';
60
+ this.method = 'get';
61
+ }
62
+ static fetch() {
63
+ return this._fetch({});
64
+ }
65
+ }
66
+ class GetSubjectsVersions extends SchemaRegistryApi {
67
+ constructor() {
68
+ super(...arguments);
69
+ this.url = '/subjects/:subject/versions';
70
+ this.method = 'get';
71
+ }
72
+ static fetch(subject) {
73
+ return this._fetch({ path: { subject } });
74
+ }
75
+ }
76
+ class DeleteSubjects extends SchemaRegistryApi {
77
+ constructor() {
78
+ super(...arguments);
79
+ this.url = '/subjects/:subject';
80
+ this.method = 'delete';
81
+ }
82
+ static fetch(data) {
83
+ return this._fetch({
84
+ path: { subject: data.subject },
85
+ params: { permanent: !!data.permanent },
86
+ });
87
+ }
88
+ }
89
+ class GetSubjectsByVersion extends SchemaRegistryApi {
90
+ constructor() {
91
+ super(...arguments);
92
+ this.url = '/subjects/:subject/versions/:version';
93
+ this.method = 'get';
94
+ }
95
+ static fetch(data) {
96
+ return this._fetch({ path: data });
97
+ }
98
+ }
99
+ class GetSchemaBySubjectsAndVersion extends SchemaRegistryApi {
100
+ constructor() {
101
+ super(...arguments);
102
+ this.url = '/subjects/:subject/versions/:version/schema';
103
+ this.method = 'get';
104
+ }
105
+ static fetch(data) {
106
+ return this._fetch({ path: data });
107
+ }
108
+ }
109
+ class PostSubjectsVersions extends SchemaRegistryApi {
110
+ constructor() {
111
+ super(...arguments);
112
+ this.url = '/subjects/:subject/versions';
113
+ this.method = 'post';
114
+ }
115
+ static fetch(data) {
116
+ return this._fetch({
117
+ path: { subject: data.subject },
118
+ params: { normalize: !!data.normalize },
119
+ data: {
120
+ schema: toStringData(data.schema),
121
+ schemaType: data.schemaType,
122
+ reference: data.reference,
123
+ },
124
+ });
125
+ }
126
+ }
127
+ class PostSubjects extends SchemaRegistryApi {
128
+ constructor() {
129
+ super(...arguments);
130
+ this.url = '/subjects/:subject';
131
+ this.method = 'post';
132
+ }
133
+ static fetch(data) {
134
+ return this._fetch({
135
+ path: { subject: data.subject },
136
+ params: { normalize: !!data.normalize },
137
+ data: {
138
+ schema: toStringData(data.schema),
139
+ schemaType: data.schemaType,
140
+ reference: data.reference,
141
+ },
142
+ });
143
+ }
144
+ }
145
+ class PutConfig extends SchemaRegistryApi {
146
+ constructor() {
147
+ super(...arguments);
148
+ this.url = '/config/:subject';
149
+ this.method = 'put';
150
+ }
151
+ static fetch(data) {
152
+ return this._fetch({
153
+ path: { subject: data.subject },
154
+ data: { compatibility: data.compatibility },
155
+ });
156
+ }
157
+ }
158
+ async function encode(subject, data, version = 'latest') {
159
+ const errors = [];
160
+ const response = await GetSubjectsByVersion.fetch({ subject, version });
161
+ const header = Buffer.alloc(5);
162
+ const schema = avsc_1.Type.forSchema(JSON.parse(response.data.schema));
163
+ schema.isValid(data, {
164
+ errorHook: (path, value) => {
165
+ errors.push(`${path.join('.')}: ${value} (${typeof value})`);
166
+ },
167
+ });
168
+ if (errors.length)
169
+ throw new errors_1.SchemaRegistryAvroSchemaParseError(errors);
170
+ header.writeInt32BE(response.data.id, 1);
171
+ return Buffer.concat([header, schema.toBuffer(data)]);
172
+ }
173
+ async function decode(buffer) {
174
+ const id = buffer.readInt32BE(1);
175
+ let data = cache.get(id);
176
+ if (!data) {
177
+ const response = await GetSchemasById.fetch(id);
178
+ data = avsc_1.Type.forSchema(JSON.parse(response.data.schema));
179
+ cache.set(id, data);
180
+ }
181
+ const schema = avsc_1.Type.forSchema(data);
182
+ return schema.fromBuffer(buffer.slice(5));
183
+ }
184
+ function toStringData(data) {
185
+ return typeof data === 'string' ? data : JSON.stringify(data);
186
+ }
187
+ return {
188
+ ping: Ping.fetch.bind(Ping),
189
+ getSchemasById: (GetSchemasById.fetch.bind(GetSchemasById)),
190
+ getSchemasTypes: (GetSchemasTypes.fetch.bind(GetSchemasTypes)),
191
+ getSchemasVersionsById: (GetSchemasVersionsById.fetch.bind(GetSchemasVersionsById)),
192
+ getSubjects: GetSubjects.fetch.bind(GetSubjects),
193
+ getSubjectsVersions: (GetSubjectsVersions.fetch.bind(GetSubjectsVersions)),
194
+ deleteSubjects: (DeleteSubjects.fetch.bind(DeleteSubjects)),
195
+ getSubjectsByVersion: (GetSubjectsByVersion.fetch.bind(GetSubjectsByVersion)),
196
+ getSchemaBySubjectsAndVersion: (GetSchemaBySubjectsAndVersion.fetch.bind(GetSchemaBySubjectsAndVersion)),
197
+ postSubjects: PostSubjects.fetch.bind(PostSubjects),
198
+ postSubjectsVersions: (PostSubjectsVersions.fetch.bind(PostSubjectsVersions)),
199
+ putConfig: PutConfig.fetch.bind(PutConfig),
200
+ encode,
201
+ decode,
202
+ };
203
+ };
204
+ exports.create = create;
205
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../../../src/api.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SchemaRegistryAvroSchemaParseError = exports.SchemaRegistryCantConnectError = void 0;
4
+ const errors_1 = require("@biorate/errors");
5
+ class SchemaRegistryCantConnectError extends errors_1.BaseError {
6
+ constructor(e) {
7
+ super(`Can't connect to schema registry: [%s]`, [e.message]);
8
+ }
9
+ }
10
+ exports.SchemaRegistryCantConnectError = SchemaRegistryCantConnectError;
11
+ class SchemaRegistryAvroSchemaParseError extends errors_1.BaseError {
12
+ constructor(errors) {
13
+ super('%s', [errors.join('; ')], {
14
+ status: 400,
15
+ });
16
+ }
17
+ }
18
+ exports.SchemaRegistryAvroSchemaParseError = SchemaRegistryAvroSchemaParseError;
19
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/errors.ts"],"names":[],"mappings":";;;AAAA,4CAA4C;AAE5C,MAAa,8BAA+B,SAAQ,kBAAS;IAC3D,YAAmB,CAAQ;QACzB,KAAK,CAAC,wCAAwC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC/D,CAAC;CACF;AAJD,wEAIC;AAED,MAAa,kCAAmC,SAAQ,kBAAS;IAC/D,YAAmB,MAAgB;QACjC,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE;YAC/B,MAAM,EAAE,GAAG;SACZ,CAAC,CAAC;IACL,CAAC;CACF;AAND,gFAMC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
14
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
15
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
16
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
17
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
18
+ };
19
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
20
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
21
+ };
22
+ Object.defineProperty(exports, "__esModule", { value: true });
23
+ exports.SchemaRegistryConnector = void 0;
24
+ const inversion_1 = require("@biorate/inversion");
25
+ const connector_1 = require("@biorate/connector");
26
+ const errors_1 = require("./errors");
27
+ const api_1 = require("./api");
28
+ __exportStar(require("./api"), exports);
29
+ __exportStar(require("./errors"), exports);
30
+ __exportStar(require("./interfaces"), exports);
31
+ let SchemaRegistryConnector = class SchemaRegistryConnector extends connector_1.Connector {
32
+ constructor() {
33
+ super(...arguments);
34
+ this.namespace = 'SchemaRegistry';
35
+ }
36
+ async connect(config) {
37
+ const connection = (0, api_1.create)(config);
38
+ try {
39
+ await connection.ping();
40
+ }
41
+ catch (e) {
42
+ throw new errors_1.SchemaRegistryCantConnectError(e);
43
+ }
44
+ return connection;
45
+ }
46
+ };
47
+ exports.SchemaRegistryConnector = SchemaRegistryConnector;
48
+ exports.SchemaRegistryConnector = SchemaRegistryConnector = __decorate([
49
+ (0, inversion_1.injectable)()
50
+ ], SchemaRegistryConnector);
51
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,kDAAgD;AAEhD,kDAA+C;AAC/C,qCAA0D;AAC1D,+BAA+B;AAC/B,wCAAsB;AACtB,2CAAyB;AACzB,+CAA6B;AA8DtB,IAAM,uBAAuB,GAA7B,MAAM,uBAAwB,SAAQ,qBAG5C;IAHM;;QAec,cAAS,GAAG,gBAAgB,CAAC;IAelD,CAAC;IAXW,KAAK,CAAC,OAAO,CACrB,MAA6B;QAE7B,MAAM,UAAU,GAAG,IAAA,YAAM,EAAC,MAAM,CAAyC,CAAC;QAC1E,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,IAAI,EAAE,CAAC;QAC1B,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,MAAM,IAAI,uCAA8B,CAAQ,CAAC,CAAC,CAAC;QACrD,CAAC;QACD,OAAO,UAAU,CAAC;IACpB,CAAC;CACF,CAAA;AA9BY,0DAAuB;kCAAvB,uBAAuB;IADnC,IAAA,sBAAU,GAAE;GACA,uBAAuB,CA8BnC"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=interfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../../src/interfaces.ts"],"names":[],"mappings":""}