@nanolink/operational-model 0.1.27 → 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.
@@ -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":"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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"}
@@ -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.28",
4
4
  "description": "TypeScript utility package.",
5
5
  "type": "commonjs",
6
6
  "main": "./dist/index.js",