@nanolink/operational-model 0.1.27 → 0.1.29

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.
@@ -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(key: string): Promise<ContainedWithId | null>;
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(key) {
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":";;;;;;AAAA,qCAAuE;AACvE,0DAAuD;AAIvD,SAAS,eAAe,CAAC,MAAuB;IAC9C,MAAM,CAAC,GAAG,MAAM,CAAC,IAA2B,CAAC;IAC7C,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,CAAC;QAClB,KAAK,EAAE,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1B,GAAG,EAAE,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,iBAAiB;QAC/C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC;AACJ,CAAC;AAED,MAAa,uBAAuB;IAClC,YAAoB,MAAwB,EAAU,SAAiB;QAAnD,WAAM,GAAN,MAAM,CAAkB;QAAU,cAAS,GAAT,SAAS,CAAQ;IAAI,CAAC;IAE5E,KAAK,CAAC,UAAU,CAAC,mBAA2B;QAC1C,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;QACnF,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACtC,CAAC;IAED,WAAW,CAAC,mBAA2B;QACrC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAChE,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAED,mBAAmB,CAAC,aAAqB;QACvC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,KAAK,EAAE,eAAe,CAAC,CAAC;IAChG,CAAC;IACD,SAAS;QACP,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,IAAI,EAAE,eAAe,CAAC,CAAC;IAC/F,CAAC;IACD,GAAG,CAAC,GAAW;QACb,MAAM,IAAI,GAAG,IAAI,mBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;aACzC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAS,CAAC,MAAM,CAAC,8BAA8B,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;CACH;AAjDD,0DAiDC"}
1
+ {"version":3,"file":"contained.js","sourceRoot":"","sources":["../../../src/aerospike/impl/contained.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ import { StateTripRepositoryImpl } from './stateTrip';
9
9
  import { ContainedRepositoryImpl } from './contained';
10
10
  import { TransmitterPositionRepositoryImpl } from './transmitterPosition';
11
11
  import Aerospike from 'aerospike';
12
+ import { StateContainedRepositoryImpl } from './statecontained';
12
13
  export type RepositoryFactoryOptions = {
13
14
  client: Aerospike.Client;
14
15
  namespace: string;
@@ -24,5 +25,6 @@ export declare function createRepositories(opts: RepositoryFactoryOptions): {
24
25
  stateTrips: StateTripRepositoryImpl;
25
26
  contained: ContainedRepositoryImpl;
26
27
  transmitterPos: TransmitterPositionRepositoryImpl;
28
+ stateContained: StateContainedRepositoryImpl;
27
29
  };
28
- export { StatesRepositoryImpl, StateLinkRepositoryImpl, ClosedLinkRepositoryImpl, RSSIRepositoryImpl, DeltaRSSIRepositoryImpl, GPSRepositoryImpl, TripRepositoryImpl, StateTripRepositoryImpl, ContainedRepositoryImpl, TransmitterPositionRepositoryImpl, };
30
+ export { StatesRepositoryImpl, StateLinkRepositoryImpl, ClosedLinkRepositoryImpl, RSSIRepositoryImpl, DeltaRSSIRepositoryImpl, GPSRepositoryImpl, TripRepositoryImpl, StateTripRepositoryImpl, ContainedRepositoryImpl, TransmitterPositionRepositoryImpl, StateContainedRepositoryImpl, };
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransmitterPositionRepositoryImpl = exports.ContainedRepositoryImpl = exports.StateTripRepositoryImpl = exports.TripRepositoryImpl = exports.GPSRepositoryImpl = exports.DeltaRSSIRepositoryImpl = exports.RSSIRepositoryImpl = exports.ClosedLinkRepositoryImpl = exports.StateLinkRepositoryImpl = exports.StatesRepositoryImpl = void 0;
3
+ exports.StateContainedRepositoryImpl = exports.TransmitterPositionRepositoryImpl = exports.ContainedRepositoryImpl = exports.StateTripRepositoryImpl = exports.TripRepositoryImpl = exports.GPSRepositoryImpl = exports.DeltaRSSIRepositoryImpl = exports.RSSIRepositoryImpl = exports.ClosedLinkRepositoryImpl = exports.StateLinkRepositoryImpl = exports.StatesRepositoryImpl = void 0;
4
4
  exports.createRepositories = createRepositories;
5
5
  const states_1 = require("./states");
6
6
  Object.defineProperty(exports, "StatesRepositoryImpl", { enumerable: true, get: function () { return states_1.StatesRepositoryImpl; } });
@@ -22,6 +22,8 @@ const contained_1 = require("./contained");
22
22
  Object.defineProperty(exports, "ContainedRepositoryImpl", { enumerable: true, get: function () { return contained_1.ContainedRepositoryImpl; } });
23
23
  const transmitterPosition_1 = require("./transmitterPosition");
24
24
  Object.defineProperty(exports, "TransmitterPositionRepositoryImpl", { enumerable: true, get: function () { return transmitterPosition_1.TransmitterPositionRepositoryImpl; } });
25
+ const statecontained_1 = require("./statecontained");
26
+ Object.defineProperty(exports, "StateContainedRepositoryImpl", { enumerable: true, get: function () { return statecontained_1.StateContainedRepositoryImpl; } });
25
27
  function createRepositories(opts) {
26
28
  const { client, namespace } = opts;
27
29
  return {
@@ -35,6 +37,7 @@ function createRepositories(opts) {
35
37
  stateTrips: new stateTrip_1.StateTripRepositoryImpl(client, namespace),
36
38
  contained: new contained_1.ContainedRepositoryImpl(client, namespace),
37
39
  transmitterPos: new transmitterPosition_1.TransmitterPositionRepositoryImpl(client, namespace),
40
+ stateContained: new statecontained_1.StateContainedRepositoryImpl(client, namespace),
38
41
  };
39
42
  }
40
43
  //# sourceMappingURL=factory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/aerospike/impl/factory.ts"],"names":[],"mappings":";;;AAiBA,gDAcC;AA/BD,qCAAgD;AAkC9C,qGAlCO,6BAAoB,OAkCP;AAjCtB,2CAAsD;AAkCpD,wGAlCO,mCAAuB,OAkCP;AAjCzB,6CAAwD;AAkCtD,yGAlCO,qCAAwB,OAkCP;AAjC1B,iCAA4C;AAkC1C,mGAlCO,yBAAkB,OAkCP;AAjCpB,2CAAsD;AAkCpD,wGAlCO,mCAAuB,OAkCP;AAjCzB,+BAA0C;AAkCxC,kGAlCO,uBAAiB,OAkCP;AAjCnB,iCAA4C;AAkC1C,mGAlCO,yBAAkB,OAkCP;AAjCpB,2CAAsD;AAkCpD,wGAlCO,mCAAuB,OAkCP;AAjCzB,2CAAsD;AAkCpD,wGAlCO,mCAAuB,OAkCP;AAjCzB,+DAA0E;AAkCxE,kHAlCO,uDAAiC,OAkCP;AA1BnC,SAAgB,kBAAkB,CAAC,IAA8B;IAC/D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,IAAI,6BAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;QACnD,UAAU,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1D,WAAW,EAAE,IAAI,qCAAwB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC5D,IAAI,EAAE,IAAI,yBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC/C,SAAS,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QACzD,GAAG,EAAE,IAAI,uBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7C,KAAK,EAAE,IAAI,yBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;QAChD,UAAU,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1D,SAAS,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QACzD,cAAc,EAAE,IAAI,uDAAiC,CAAC,MAAM,EAAE,SAAS,CAAC;KACzE,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"factory.js","sourceRoot":"","sources":["../../../src/aerospike/impl/factory.ts"],"names":[],"mappings":";;;AAkBA,gDAeC;AAjCD,qCAAgD;AAoC9C,qGApCO,6BAAoB,OAoCP;AAnCtB,2CAAsD;AAoCpD,wGApCO,mCAAuB,OAoCP;AAnCzB,6CAAwD;AAoCtD,yGApCO,qCAAwB,OAoCP;AAnC1B,iCAA4C;AAoC1C,mGApCO,yBAAkB,OAoCP;AAnCpB,2CAAsD;AAoCpD,wGApCO,mCAAuB,OAoCP;AAnCzB,+BAA0C;AAoCxC,kGApCO,uBAAiB,OAoCP;AAnCnB,iCAA4C;AAoC1C,mGApCO,yBAAkB,OAoCP;AAnCpB,2CAAsD;AAoCpD,wGApCO,mCAAuB,OAoCP;AAnCzB,2CAAsD;AAoCpD,wGApCO,mCAAuB,OAoCP;AAnCzB,+DAA0E;AAoCxE,kHApCO,uDAAiC,OAoCP;AAlCnC,qDAAgE;AAmC9D,6GAnCO,6CAA4B,OAmCP;AA5B9B,SAAgB,kBAAkB,CAAC,IAA8B;IAC/D,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC;IACnC,OAAO;QACL,MAAM,EAAE,IAAI,6BAAoB,CAAC,MAAM,EAAE,SAAS,CAAC;QACnD,UAAU,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1D,WAAW,EAAE,IAAI,qCAAwB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC5D,IAAI,EAAE,IAAI,yBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC/C,SAAS,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QACzD,GAAG,EAAE,IAAI,uBAAiB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC7C,KAAK,EAAE,IAAI,yBAAkB,CAAC,MAAM,EAAE,SAAS,CAAC;QAChD,UAAU,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QAC1D,SAAS,EAAE,IAAI,mCAAuB,CAAC,MAAM,EAAE,SAAS,CAAC;QACzD,cAAc,EAAE,IAAI,uDAAiC,CAAC,MAAM,EAAE,SAAS,CAAC;QACxE,cAAc,EAAE,IAAI,6CAA4B,CAAC,MAAM,EAAE,SAAS,CAAC;KACpE,CAAC;AACJ,CAAC"}
@@ -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":";;;;;;AAAA,qCAAuE;AACvE,0DAAuD;AAIvD,SAAS,oBAAoB,CAAC,MAAuB;IACnD,MAAM,CAAC,GAAG,MAAM,CAAC,IAA2B,CAAC;IAC7C,OAAO;QACL,UAAU,EAAE,CAAC,CAAC,CAAC;QACf,aAAa,EAAE,CAAC,CAAC,CAAC;QAClB,KAAK,EAAE,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC;QAC1B,GAAG,EAAE,IAAA,iBAAQ,EAAC,CAAC,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,iBAAiB;QAC/C,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;KAC5D,CAAC;AACJ,CAAC;AAED,MAAa,4BAA4B;IACvC,YAAoB,MAAwB,EAAU,SAAiB;QAAnD,WAAM,GAAN,MAAM,CAAkB;QAAU,cAAS,GAAT,SAAS,CAAQ;IAAI,CAAC;IAE5E,KAAK,CAAC,UAAU,CAAC,mBAA2B;QAC1C,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,aAAqB;QAC5C,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,UAAkB;QACtC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtD,MAAM,OAAO,GAAG,MAAM,IAAA,oBAAW,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC;QACxF,OAAO,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC3C,CAAC;IAED,WAAW,CAAC,mBAA2B;QACrC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC;QAChE,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC1G,CAAC;IAED,mBAAmB,CAAC,aAAqB;QACvC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;QACzD,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC1G,CAAC;IAED,gBAAgB,CAAC,UAAkB;QACjC,MAAM,KAAK,GAAG,mBAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACtD,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,KAAK,EAAE,oBAAoB,CAAC,CAAC;IAC1G,CAAC;IACD,SAAS;QACP,OAAO,IAAA,6BAAoB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;IACzG,CAAC;IACD,GAAG,CAAC,GAAW;QACb,MAAM,IAAI,GAAG,IAAI,mBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC;aACzB,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;aAC9C,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;YACf,IAAI,KAAK,CAAC,IAAI,KAAK,mBAAS,CAAC,MAAM,CAAC,8BAA8B,EAAE,CAAC;gBACnE,OAAO,IAAI,CAAC;YACd,CAAC;YACD,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;CACH;AAjDD,oEAiDC"}
@@ -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"}
@@ -9,3 +9,4 @@ export * from './models/stateTrip';
9
9
  export * from './models/contained';
10
10
  export * from './models/transmitterPosition';
11
11
  export * from './models/timeRange';
12
+ export * from './models/statecontained';
@@ -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(key: string): Promise<ContainedWithId | null>;
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,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=statecontained.js.map
@@ -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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nanolink/operational-model",
3
- "version": "0.1.27",
3
+ "version": "0.1.29",
4
4
  "description": "TypeScript utility package.",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",