@nanolink/operational-model 0.1.26 → 0.1.28
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.
- package/dist/aerospike/impl/common.js +16 -20
- package/dist/aerospike/impl/common.js.map +1 -1
- package/dist/aerospike/impl/contained.d.ts +1 -1
- package/dist/aerospike/impl/contained.js +2 -1
- package/dist/aerospike/impl/contained.js.map +1 -1
- package/dist/aerospike/impl/statecontained.d.ts +16 -0
- package/dist/aerospike/impl/statecontained.js +68 -0
- package/dist/aerospike/impl/statecontained.js.map +1 -0
- package/dist/aerospike/models/statecontained.d.ts +11 -0
- package/dist/aerospike/models/statecontained.js +7 -0
- package/dist/aerospike/models/statecontained.js.map +1 -0
- package/dist/aerospike/models.d.ts +1 -0
- package/dist/aerospike/models.js +1 -0
- package/dist/aerospike/models.js.map +1 -1
- package/dist/aerospike/repositories/contained.d.ts +1 -1
- package/dist/aerospike/repositories/statecontained.d.ts +11 -0
- package/dist/aerospike/repositories/statecontained.js +3 -0
- package/dist/aerospike/repositories/statecontained.js.map +1 -0
- package/dist/aerospike/repositories.d.ts +2 -0
- package/package.json +1 -1
|
@@ -31,38 +31,34 @@ async function streamQuery(client, namespace, setName, where) {
|
|
|
31
31
|
}
|
|
32
32
|
async function* streamQueryGenerator(client, namespace, setName, where, map) {
|
|
33
33
|
const query = client.query(namespace, setName);
|
|
34
|
-
if (where)
|
|
34
|
+
if (where)
|
|
35
35
|
query.where(where);
|
|
36
|
-
}
|
|
37
36
|
const buffer = [];
|
|
38
37
|
let ended = false;
|
|
39
38
|
let error;
|
|
39
|
+
let wake = null;
|
|
40
|
+
const notify = () => { if (wake) {
|
|
41
|
+
wake();
|
|
42
|
+
wake = null;
|
|
43
|
+
} };
|
|
40
44
|
const stream = query.foreach();
|
|
41
45
|
stream.on('data', (record) => {
|
|
42
46
|
const mapped = map(record);
|
|
43
|
-
if (mapped !== null)
|
|
47
|
+
if (mapped !== null)
|
|
44
48
|
buffer.push(mapped);
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
stream.on('error', (err) => {
|
|
48
|
-
error = err;
|
|
49
|
-
ended = true;
|
|
49
|
+
notify();
|
|
50
50
|
});
|
|
51
|
-
stream.on('
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
stream.on('error', (err) => { error = err; ended = true; notify(); });
|
|
52
|
+
stream.on('end', () => { ended = true; notify(); });
|
|
53
|
+
while (!ended || buffer.length) {
|
|
54
|
+
if (error)
|
|
55
|
+
throw error;
|
|
56
|
+
if (buffer.length) {
|
|
56
57
|
yield buffer.shift();
|
|
57
|
-
continue;
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
else {
|
|
60
|
+
await new Promise((res) => { wake = res; });
|
|
61
61
|
}
|
|
62
|
-
await new Promise((res) => setTimeout(res, 10));
|
|
63
|
-
}
|
|
64
|
-
if (error) {
|
|
65
|
-
throw error;
|
|
66
62
|
}
|
|
67
63
|
}
|
|
68
64
|
function decodeMsgpack(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/aerospike/impl/common.ts"],"names":[],"mappings":";;;;;;AAOA,kCAYC;AAED,
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/aerospike/impl/common.ts"],"names":[],"mappings":";;;;;;AAOA,kCAYC;AAED,oDAkCC;AAED,sCAaC;AAED,4BAOC;AAED,8CAOC;AAED,oDAEC;AAED,0CAYC;AA1GD,0DAAkC;AAClC,0FAA0F;AAC1F,8CAA2D;AAGpD,MAAM,KAAK,GAAG,CAAC,SAAiB,EAAE,GAAW,EAAE,OAAe,EAAE,EAAE,CAAC,IAAI,mBAAS,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;AAAxG,QAAA,KAAK,SAAmG;AAE9G,KAAK,UAAU,WAAW,CAAC,MAAwB,EAAE,SAAiB,EAAE,OAAe,EAAE,KAAW;IACzG,MAAM,KAAK,GAAoB,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAChE,IAAI,KAAK,EAAE,CAAC;QACV,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,OAAO,GAAgC,EAAE,CAAC;QAChD,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAiC,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QAC/E,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAY,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;AACL,CAAC;AAEM,KAAK,SAAS,CAAC,CAAC,oBAAoB,CACzC,MAAwB,EACxB,SAAiB,EACjB,OAAe,EACf,KAAsB,EACtB,GAAoD;IAEpD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,IAAI,KAAK;QAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAQ,EAAE,CAAC;IACvB,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,KAAc,CAAC;IACnB,IAAI,IAAI,GAAwB,IAAI,CAAC;IAErC,MAAM,MAAM,GAAG,GAAG,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC;QAAC,IAAI,EAAE,CAAC;QAAC,IAAI,GAAG,IAAI,CAAC;IAAC,CAAC,CAAC,CAAC,CAAC;IAE5D,MAAM,MAAM,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,EAAE;QAC3B,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;QAC3B,IAAI,MAAM,KAAK,IAAI;YAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzC,MAAM,EAAE,CAAC;IACX,CAAC,CAAC,CAAC;IACH,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IACtE,MAAM,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpD,OAAO,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAC/B,IAAI,KAAK;YAAE,MAAM,KAAK,CAAC;QACvB,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;YAClB,MAAM,MAAM,CAAC,KAAK,EAAO,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,OAAO,CAAO,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAgB,aAAa,CAAI,KAAU;IACzC,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,KAAK,YAAY,UAAU,EAAE,CAAC;YAChC,OAAO,IAAA,gBAAa,EAAC,KAAK,CAAM,CAAC;QACnC,CAAC;QACD,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,IAAA,gBAAa,EAAC,KAAK,CAAM,CAAC;QACnC,CAAC;QACD,OAAO,IAAA,gBAAa,EAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAM,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAgB,QAAQ,CAAC,KAAU;IACjC,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC;IACnD,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAgB,iBAAiB,CAAC,GAAQ;IACxC,IAAI,CAAC,GAAG;QAAE,OAAO,SAAS,CAAC;IAC3B,OAAO;QACL,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC5B,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAChC,QAAQ,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KAChC,CAAA;AACH,CAAC;AAED,SAAgB,oBAAoB,CAA8B,KAAU;IAC1E,OAAO,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,SAAgB,eAAe,CAAC,CAAc,EAAE,CAAc;IAC5D,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,GAAG,GAAG,CAAC;IACrD,MAAM,CAAC,GAAG,OAAO,CAAC;IAClB,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACpC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;IACpC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IACnC,MAAM,CAAC,GAAG,OAAO,GAAG,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,OAAO,CAAC;IAClF,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACzD,OAAO,CAAC,GAAG,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -12,5 +12,5 @@ export declare class ContainedRepositoryImpl implements ContainedRepository {
|
|
|
12
12
|
streamByTransmitter(transmitterId: string): AsyncGenerator<ContainedWithId>;
|
|
13
13
|
streamByReceiver(receiverId: string): AsyncGenerator<ContainedWithId>;
|
|
14
14
|
streamAll(): AsyncGenerator<ContainedWithId>;
|
|
15
|
-
get(
|
|
15
|
+
get(transmitterId: string, stamp: number): Promise<ContainedWithId | null>;
|
|
16
16
|
}
|
|
@@ -51,7 +51,8 @@ class ContainedRepositoryImpl {
|
|
|
51
51
|
streamAll() {
|
|
52
52
|
return (0, common_1.streamQueryGenerator)(this.client, this.namespace, 'contained', null, decodeContained);
|
|
53
53
|
}
|
|
54
|
-
get(
|
|
54
|
+
get(transmitterId, stamp) {
|
|
55
|
+
const key = `${transmitterId}@${stamp}`;
|
|
55
56
|
const akey = new aerospike_1.default.Key(this.namespace, 'contained', key);
|
|
56
57
|
return this.client.get(akey)
|
|
57
58
|
.then((record) => decodeContained(record))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contained.js","sourceRoot":"","sources":["../../../src/aerospike/impl/contained.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"contained.js","sourceRoot":"","sources":["../../../src/aerospike/impl/contained.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import Aerospike from 'aerospike';
|
|
2
|
+
import { StateContainedWithId } from '../models/statecontained';
|
|
3
|
+
import { StateContainedRepository } from '../repositories/statecontained';
|
|
4
|
+
export declare class StateContainedRepositoryImpl implements StateContainedRepository {
|
|
5
|
+
private client;
|
|
6
|
+
private namespace;
|
|
7
|
+
constructor(client: Aerospike.Client, namespace: string);
|
|
8
|
+
queryByKey(receiverTransmitter: string): Promise<StateContainedWithId[]>;
|
|
9
|
+
queryByTransmitter(transmitterId: string): Promise<StateContainedWithId[]>;
|
|
10
|
+
queryByReceiver(receiverId: string): Promise<StateContainedWithId[]>;
|
|
11
|
+
streamByKey(receiverTransmitter: string): AsyncGenerator<StateContainedWithId>;
|
|
12
|
+
streamByTransmitter(transmitterId: string): AsyncGenerator<StateContainedWithId>;
|
|
13
|
+
streamByReceiver(receiverId: string): AsyncGenerator<StateContainedWithId>;
|
|
14
|
+
streamAll(): AsyncGenerator<StateContainedWithId>;
|
|
15
|
+
get(key: string): Promise<StateContainedWithId | null>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,68 @@
|
|
|
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.StateContainedRepositoryImpl = void 0;
|
|
7
|
+
const common_1 = require("./common");
|
|
8
|
+
const aerospike_1 = __importDefault(require("aerospike"));
|
|
9
|
+
function decodeStateContained(record) {
|
|
10
|
+
const b = record.bins;
|
|
11
|
+
return {
|
|
12
|
+
receiverId: b.r,
|
|
13
|
+
transmitterId: b.t,
|
|
14
|
+
start: (0, common_1.asNumber)(b.st) ?? 0,
|
|
15
|
+
end: (0, common_1.asNumber)(b.en) ?? Number.POSITIVE_INFINITY,
|
|
16
|
+
version: b.v ? Buffer.from(b.v).toString('hex') : undefined,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
class StateContainedRepositoryImpl {
|
|
20
|
+
constructor(client, namespace) {
|
|
21
|
+
this.client = client;
|
|
22
|
+
this.namespace = namespace;
|
|
23
|
+
}
|
|
24
|
+
async queryByKey(receiverTransmitter) {
|
|
25
|
+
const where = aerospike_1.default.filter.equal('rt', receiverTransmitter);
|
|
26
|
+
const records = await (0, common_1.streamQuery)(this.client, this.namespace, 'statecontained', where);
|
|
27
|
+
return records.map(decodeStateContained);
|
|
28
|
+
}
|
|
29
|
+
async queryByTransmitter(transmitterId) {
|
|
30
|
+
const where = aerospike_1.default.filter.equal('t', transmitterId);
|
|
31
|
+
const records = await (0, common_1.streamQuery)(this.client, this.namespace, 'statecontained', where);
|
|
32
|
+
return records.map(decodeStateContained);
|
|
33
|
+
}
|
|
34
|
+
async queryByReceiver(receiverId) {
|
|
35
|
+
const where = aerospike_1.default.filter.equal('r', receiverId);
|
|
36
|
+
const records = await (0, common_1.streamQuery)(this.client, this.namespace, 'statecontained', where);
|
|
37
|
+
return records.map(decodeStateContained);
|
|
38
|
+
}
|
|
39
|
+
streamByKey(receiverTransmitter) {
|
|
40
|
+
const where = aerospike_1.default.filter.equal('rt', receiverTransmitter);
|
|
41
|
+
return (0, common_1.streamQueryGenerator)(this.client, this.namespace, 'statecontained', where, decodeStateContained);
|
|
42
|
+
}
|
|
43
|
+
streamByTransmitter(transmitterId) {
|
|
44
|
+
const where = aerospike_1.default.filter.equal('t', transmitterId);
|
|
45
|
+
return (0, common_1.streamQueryGenerator)(this.client, this.namespace, 'statecontained', where, decodeStateContained);
|
|
46
|
+
}
|
|
47
|
+
streamByReceiver(receiverId) {
|
|
48
|
+
const where = aerospike_1.default.filter.equal('r', receiverId);
|
|
49
|
+
return (0, common_1.streamQueryGenerator)(this.client, this.namespace, 'statecontained', where, decodeStateContained);
|
|
50
|
+
}
|
|
51
|
+
streamAll() {
|
|
52
|
+
return (0, common_1.streamQueryGenerator)(this.client, this.namespace, 'statecontained', null, decodeStateContained);
|
|
53
|
+
}
|
|
54
|
+
get(key) {
|
|
55
|
+
const akey = new aerospike_1.default.Key(this.namespace, 'statecontained', key);
|
|
56
|
+
return this.client.get(akey)
|
|
57
|
+
.then((record) => decodeStateContained(record))
|
|
58
|
+
.catch((error) => {
|
|
59
|
+
if (error.code === aerospike_1.default.status.AEROSPIKE_ERR_RECORD_NOT_FOUND) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
throw error;
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
;
|
|
66
|
+
}
|
|
67
|
+
exports.StateContainedRepositoryImpl = StateContainedRepositoryImpl;
|
|
68
|
+
//# sourceMappingURL=statecontained.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statecontained.js","sourceRoot":"","sources":["../../../src/aerospike/impl/statecontained.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { TimeRange } from "../models";
|
|
2
|
+
export type StateContained = {
|
|
3
|
+
start: number;
|
|
4
|
+
end: number;
|
|
5
|
+
};
|
|
6
|
+
export type StateContainedWithId = StateContained & {
|
|
7
|
+
receiverId: string;
|
|
8
|
+
transmitterId: string;
|
|
9
|
+
version?: string;
|
|
10
|
+
};
|
|
11
|
+
export declare function stateContainedTimeRange(contained: StateContained): TimeRange;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.stateContainedTimeRange = stateContainedTimeRange;
|
|
4
|
+
function stateContainedTimeRange(contained) {
|
|
5
|
+
return { start: contained.start, end: contained.end == Number.POSITIVE_INFINITY ? undefined : contained.end };
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=statecontained.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statecontained.js","sourceRoot":"","sources":["../../../src/aerospike/models/statecontained.ts"],"names":[],"mappings":";;AAcA,0DAEC;AAFD,SAAgB,uBAAuB,CAAC,SAAyB;IAC/D,OAAO,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,CAAC,GAAG,IAAI,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC;AAChH,CAAC"}
|
package/dist/aerospike/models.js
CHANGED
|
@@ -25,4 +25,5 @@ __exportStar(require("./models/stateTrip"), exports);
|
|
|
25
25
|
__exportStar(require("./models/contained"), exports);
|
|
26
26
|
__exportStar(require("./models/transmitterPosition"), exports);
|
|
27
27
|
__exportStar(require("./models/timeRange"), exports);
|
|
28
|
+
__exportStar(require("./models/statecontained"), exports);
|
|
28
29
|
//# sourceMappingURL=models.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/aerospike/models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,qDAAmC;AACnC,sDAAoC;AACpC,gDAA8B;AAC9B,qDAAmC;AACnC,+CAA6B;AAC7B,gDAA8B;AAC9B,qDAAmC;AACnC,qDAAmC;AACnC,+DAA6C;AAC7C,qDAAmC"}
|
|
1
|
+
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/aerospike/models.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,kDAAgC;AAChC,qDAAmC;AACnC,sDAAoC;AACpC,gDAA8B;AAC9B,qDAAmC;AACnC,+CAA6B;AAC7B,gDAA8B;AAC9B,qDAAmC;AACnC,qDAAmC;AACnC,+DAA6C;AAC7C,qDAAmC;AACnC,0DAAwC"}
|
|
@@ -7,5 +7,5 @@ export interface ContainedRepository {
|
|
|
7
7
|
streamByTransmitter(transmitterId: string): AsyncGenerator<ContainedWithId>;
|
|
8
8
|
streamByReceiver(receiverId: string): AsyncGenerator<ContainedWithId>;
|
|
9
9
|
streamAll(): AsyncGenerator<ContainedWithId>;
|
|
10
|
-
get(
|
|
10
|
+
get(transmitterId: string, stamp: number): Promise<ContainedWithId | null>;
|
|
11
11
|
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type StateContainedWithId } from '../models';
|
|
2
|
+
export interface StateContainedRepository {
|
|
3
|
+
queryByKey(receiverTransmitter: string): Promise<StateContainedWithId[]>;
|
|
4
|
+
queryByTransmitter(transmitterId: string): Promise<StateContainedWithId[]>;
|
|
5
|
+
queryByReceiver(receiverId: string): Promise<StateContainedWithId[]>;
|
|
6
|
+
streamByKey(receiverTransmitter: string): AsyncGenerator<StateContainedWithId>;
|
|
7
|
+
streamByTransmitter(transmitterId: string): AsyncGenerator<StateContainedWithId>;
|
|
8
|
+
streamByReceiver(receiverId: string): AsyncGenerator<StateContainedWithId>;
|
|
9
|
+
streamAll(): AsyncGenerator<StateContainedWithId>;
|
|
10
|
+
get(transmitterId: string): Promise<StateContainedWithId | null>;
|
|
11
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statecontained.js","sourceRoot":"","sources":["../../../src/aerospike/repositories/statecontained.ts"],"names":[],"mappings":""}
|
|
@@ -18,6 +18,7 @@ import { type TripRepository } from './repositories/trip';
|
|
|
18
18
|
import { type StateTripRepository } from './repositories/stateTrip';
|
|
19
19
|
import { type ContainedRepository } from './repositories/contained';
|
|
20
20
|
import { type TransmitterPositionRepository } from './repositories/transmitterPosition';
|
|
21
|
+
import { StateContainedRepository } from './repositories/statecontained';
|
|
21
22
|
export type RepositoryBundle = {
|
|
22
23
|
states: StatesRepository;
|
|
23
24
|
stateLinks: StateLinkRepository;
|
|
@@ -29,4 +30,5 @@ export type RepositoryBundle = {
|
|
|
29
30
|
stateTrips: StateTripRepository;
|
|
30
31
|
contained: ContainedRepository;
|
|
31
32
|
transmitterPos: TransmitterPositionRepository;
|
|
33
|
+
stateContained: StateContainedRepository;
|
|
32
34
|
};
|