@xyo-network/location-payload-plugin 2.36.8 → 2.36.10

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.
@@ -1,14 +1,27 @@
1
1
  import { XyoPayload } from '@xyo-network/payload';
2
2
  import { XyoLocationSchema } from './Schema';
3
- export declare type XyoLocationPayload = XyoPayload<{
4
- schema: XyoLocationSchema;
3
+ export interface LngLatPhysicalLocation {
4
+ latitude: number;
5
+ longitude: number;
5
6
  accuracy?: number;
7
+ }
8
+ export interface QuadkeyPhysicalLocation {
9
+ quadkey: string;
10
+ }
11
+ export interface AltitudePhysicalLocation {
6
12
  altitude?: number;
7
13
  altitudeAccuracy?: number;
14
+ }
15
+ export declare type PhysicalLocation = (LngLatPhysicalLocation | QuadkeyPhysicalLocation) & AltitudePhysicalLocation;
16
+ export declare type VectorLocation = {
8
17
  heading?: number;
9
- latitude?: number;
10
- longitude?: number;
11
18
  speed?: number;
19
+ };
20
+ export interface TemporalLocation {
12
21
  time?: number;
13
- }>;
22
+ }
23
+ export declare type CompleteLocation = PhysicalLocation & TemporalLocation & VectorLocation;
24
+ export declare type XyoLocationPayload = XyoPayload<{
25
+ schema: XyoLocationSchema;
26
+ } & CompleteLocation>;
14
27
  //# sourceMappingURL=Payload.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,oBAAY,kBAAkB,GAAG,UAAU,CAAC;IAC1C,MAAM,EAAE,iBAAiB,CAAA;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,CAAA;CACd,CAAC,CAAA"}
1
+ {"version":3,"file":"Payload.d.ts","sourceRoot":"","sources":["../../src/Payload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAC1B;AAED,oBAAY,gBAAgB,GAAG,CAAC,sBAAsB,GAAG,uBAAuB,CAAC,GAAG,wBAAwB,CAAA;AAE5G,oBAAY,cAAc,GAAG;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED,oBAAY,gBAAgB,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,cAAc,CAAA;AAEnF,oBAAY,kBAAkB,GAAG,UAAU,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAAG,gBAAgB,CAAC,CAAA"}
@@ -1,39 +1,27 @@
1
- export declare const XyoLocationPayloadPlugin: () => import("@xyo-network/payload-plugin").XyoPayloadPlugin<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
2
- schema: "network.xyo.location";
3
- accuracy?: number | undefined;
4
- altitude?: number | undefined;
5
- altitudeAccuracy?: number | undefined;
6
- heading?: number | undefined;
7
- latitude?: number | undefined;
8
- longitude?: number | undefined;
9
- speed?: number | undefined;
10
- time?: number | undefined;
11
- }, import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
1
+ import { XyoLocationPayload } from './Payload';
2
+ export declare const XyoLocationPayloadPlugin: () => import("@xyo-network/payload-plugin").XyoPayloadPlugin<XyoLocationPayload, import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
12
3
  security?: {
13
4
  allowed?: Record<string, string[][]> | undefined;
14
5
  disallowed?: Record<string, string[]> | undefined;
15
6
  } | undefined;
16
- logging?: boolean | undefined;
17
7
  } & {
18
8
  schema: "network.xyo.location.config";
19
9
  geolocation: Geolocation;
20
10
  } & {
21
11
  targetSchema: "network.xyo.location";
22
- }, import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
12
+ }, (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
13
+ security?: {
14
+ allowed?: Record<string, string[][]> | undefined;
15
+ disallowed?: Record<string, string[]> | undefined;
16
+ } | undefined;
17
+ } & {
18
+ schema: "network.xyo.location";
19
+ } & import("./Payload").LngLatPhysicalLocation & import("./Payload").AltitudePhysicalLocation & import("./Payload").TemporalLocation & import("./Payload").VectorLocation) | (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
23
20
  security?: {
24
21
  allowed?: Record<string, string[][]> | undefined;
25
22
  disallowed?: Record<string, string[]> | undefined;
26
23
  } | undefined;
27
- logging?: boolean | undefined;
28
24
  } & {
29
25
  schema: "network.xyo.location";
30
- accuracy?: number | undefined;
31
- altitude?: number | undefined;
32
- altitudeAccuracy?: number | undefined;
33
- heading?: number | undefined;
34
- latitude?: number | undefined;
35
- longitude?: number | undefined;
36
- speed?: number | undefined;
37
- time?: number | undefined;
38
- }>;
26
+ } & import("./Payload").QuadkeyPhysicalLocation & import("./Payload").AltitudePhysicalLocation & import("./Payload").TemporalLocation & import("./Payload").VectorLocation)>;
39
27
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAK9C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;4KAYjC,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { XyoLocationPayload } from './Payload';
2
- export declare const XyoLocationPayloadTemplate: () => XyoLocationPayload;
2
+ export declare const XyoLocationPayloadTemplate: () => Partial<XyoLocationPayload>;
3
3
  //# sourceMappingURL=Template.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,eAAO,MAAM,0BAA0B,QAAO,kBAY7C,CAAA"}
1
+ {"version":3,"file":"Template.d.ts","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,eAAO,MAAM,0BAA0B,QAAO,QAAQ,kBAAkB,CAavE,CAAA"}
@@ -7,6 +7,7 @@ export const XyoLocationPayloadTemplate = () => {
7
7
  heading: undefined,
8
8
  latitude: undefined,
9
9
  longitude: undefined,
10
+ quadkey: undefined,
10
11
  schema: XyoLocationSchema,
11
12
  speed: undefined,
12
13
  time: Date.now(),
@@ -1 +1 @@
1
- {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAuB,EAAE;IACjE,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,SAAS;QAC3B,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,MAAM,EAAE,iBAAiB;QACzB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;KACjB,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"Template.js","sourceRoot":"","sources":["../../src/Template.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAgC,EAAE;IAC1E,OAAO;QACL,QAAQ,EAAE,SAAS;QACnB,QAAQ,EAAE,SAAS;QACnB,gBAAgB,EAAE,SAAS;QAC3B,OAAO,EAAE,SAAS;QAClB,QAAQ,EAAE,SAAS;QACnB,SAAS,EAAE,SAAS;QACpB,OAAO,EAAE,SAAS;QAClB,MAAM,EAAE,iBAAiB;QACzB,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;KACjB,CAAA;AACH,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,oBAAY,8BAA8B,GAAG,6BAA6B,CAAA;AAC1E,eAAO,MAAM,8BAA8B,EAAE,8BAA8D,CAAA;AAE3G,oBAAY,wBAAwB,GAAG,gBAAgB,CACrD,kBAAkB,EAClB;IACE,MAAM,EAAE,8BAA8B,CAAA;IACtC,WAAW,EAAE,WAAW,CAAA;CACzB,CACF,CAAA;AAED,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IAC9F,IAAW,WAAW,4BAErB;IAEM,kBAAkB;IAaV,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAczF,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAoB;CACrD"}
1
+ {"version":3,"file":"Witness.d.ts","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAEnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAE5C,oBAAY,8BAA8B,GAAG,6BAA6B,CAAA;AAC1E,eAAO,MAAM,8BAA8B,EAAE,8BAA8D,CAAA;AAE3G,oBAAY,wBAAwB,GAAG,gBAAgB,CACrD,kBAAkB,EAClB;IACE,MAAM,EAAE,8BAA8B,CAAA;IACtC,WAAW,EAAE,WAAW,CAAA;CACzB,CACF,CAAA;AAED,qBAAa,kBAAmB,SAAQ,UAAU,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IAC9F,IAAW,WAAW,4BAErB;IAEM,kBAAkB;IAaV,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAgBzF,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAoB;CACrD"}
@@ -1,3 +1,4 @@
1
+ import { Quadkey } from '@xyo-network/quadkey';
1
2
  import { XyoWitness } from '@xyo-network/witness';
2
3
  import { XyoLocationSchema } from './Schema';
3
4
  export const XyoLocationWitnessConfigSchema = 'network.xyo.location.config';
@@ -16,6 +17,7 @@ export class XyoLocationWitness extends XyoWitness {
16
17
  }
17
18
  async observe(_fields) {
18
19
  const location = await this.getCurrentPosition();
20
+ const quadkey = Quadkey.fromLngLat({ lat: location.coords.latitude, lng: location.coords.longitude }, 32);
19
21
  return super.observe({
20
22
  accuracy: location.coords.accuracy,
21
23
  altitude: location.coords.altitude ?? undefined,
@@ -23,6 +25,7 @@ export class XyoLocationWitness extends XyoWitness {
23
25
  heading: location.coords.heading ?? undefined,
24
26
  latitude: location.coords.latitude,
25
27
  longitude: location.coords.longitude,
28
+ quadkey: quadkey?.toBase4Hash(),
26
29
  speed: location.coords.speed ?? undefined,
27
30
  time: Date.now(),
28
31
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAG5C,MAAM,CAAC,MAAM,8BAA8B,GAAmC,6BAA6B,CAAA;AAU3G,MAAM,OAAO,kBAAmB,SAAQ,UAAwD;IAC9F,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,CAAA;IACjC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAClC,CAAC,QAA6B,EAAE,EAAE;gBAChC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACnB,CAAC,EACD,CAAC,KAA+B,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAAoC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAChD,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAClC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS;YAC/C,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,IAAI,SAAS;YAC/D,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS;YAC7C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAClC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACpC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YACzC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,GAAsB,iBAAiB,CAAA"}
1
+ {"version":3,"file":"Witness.js","sourceRoot":"","sources":["../../src/Witness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAC9C,OAAO,EAAE,UAAU,EAAoB,MAAM,sBAAsB,CAAA;AAGnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAG5C,MAAM,CAAC,MAAM,8BAA8B,GAAmC,6BAA6B,CAAA;AAU3G,MAAM,OAAO,kBAAmB,SAAQ,UAAwD;IAC9F,IAAW,WAAW;QACpB,OAAO,IAAI,CAAC,MAAM,EAAE,WAAW,CAAA;IACjC,CAAC;IAEM,kBAAkB;QACvB,OAAO,IAAI,OAAO,CAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC1D,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAClC,CAAC,QAA6B,EAAE,EAAE;gBAChC,OAAO,CAAC,QAAQ,CAAC,CAAA;YACnB,CAAC,EACD,CAAC,KAA+B,EAAE,EAAE;gBAClC,MAAM,CAAC,KAAK,CAAC,CAAA;YACf,CAAC,CACF,CAAA;QACH,CAAC,CAAC,CAAA;IACJ,CAAC;IAEQ,KAAK,CAAC,OAAO,CAAC,OAAoC;QACzD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAChD,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,CAAC,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,EAAE,CAAC,CAAA;QACzG,OAAO,KAAK,CAAC,OAAO,CAAC;YACnB,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAClC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS;YAC/C,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,IAAI,SAAS;YAC/D,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS;YAC7C,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAClC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACpC,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE;YAC/B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;YACzC,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE;SACjB,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,MAAM,GAAsB,iBAAiB,CAAA"}
package/package.json CHANGED
@@ -10,9 +10,10 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/payload": "^2.36.8",
14
- "@xyo-network/payload-plugin": "^2.36.8",
15
- "@xyo-network/witness": "^2.36.8",
13
+ "@xyo-network/payload": "^2.36.10",
14
+ "@xyo-network/payload-plugin": "^2.36.10",
15
+ "@xyo-network/quadkey": "^2.36.10",
16
+ "@xyo-network/witness": "^2.36.10",
16
17
  "tslib": "^2.4.0"
17
18
  },
18
19
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -48,5 +49,5 @@
48
49
  },
49
50
  "sideEffects": false,
50
51
  "types": "dist/esm/index.d.ts",
51
- "version": "2.36.8"
52
+ "version": "2.36.10"
52
53
  }
package/src/Payload.ts CHANGED
@@ -2,14 +2,32 @@ import { XyoPayload } from '@xyo-network/payload'
2
2
 
3
3
  import { XyoLocationSchema } from './Schema'
4
4
 
5
- export type XyoLocationPayload = XyoPayload<{
6
- schema: XyoLocationSchema
5
+ export interface LngLatPhysicalLocation {
6
+ latitude: number
7
+ longitude: number
7
8
  accuracy?: number
9
+ }
10
+
11
+ export interface QuadkeyPhysicalLocation {
12
+ quadkey: string
13
+ }
14
+
15
+ export interface AltitudePhysicalLocation {
8
16
  altitude?: number
9
17
  altitudeAccuracy?: number
18
+ }
19
+
20
+ export type PhysicalLocation = (LngLatPhysicalLocation | QuadkeyPhysicalLocation) & AltitudePhysicalLocation
21
+
22
+ export type VectorLocation = {
10
23
  heading?: number
11
- latitude?: number
12
- longitude?: number
13
24
  speed?: number
25
+ }
26
+
27
+ export interface TemporalLocation {
14
28
  time?: number
15
- }>
29
+ }
30
+
31
+ export type CompleteLocation = PhysicalLocation & TemporalLocation & VectorLocation
32
+
33
+ export type XyoLocationPayload = XyoPayload<{ schema: XyoLocationSchema } & CompleteLocation>
package/src/Template.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { XyoLocationPayload } from './Payload'
2
2
  import { XyoLocationSchema } from './Schema'
3
3
 
4
- export const XyoLocationPayloadTemplate = (): XyoLocationPayload => {
4
+ export const XyoLocationPayloadTemplate = (): Partial<XyoLocationPayload> => {
5
5
  return {
6
6
  accuracy: undefined,
7
7
  altitude: undefined,
@@ -9,6 +9,7 @@ export const XyoLocationPayloadTemplate = (): XyoLocationPayload => {
9
9
  heading: undefined,
10
10
  latitude: undefined,
11
11
  longitude: undefined,
12
+ quadkey: undefined,
12
13
  schema: XyoLocationSchema,
13
14
  speed: undefined,
14
15
  time: Date.now(),
package/src/Witness.ts CHANGED
@@ -1,3 +1,4 @@
1
+ import { Quadkey } from '@xyo-network/quadkey'
1
2
  import { XyoWitness, XyoWitnessConfig } from '@xyo-network/witness'
2
3
 
3
4
  import { XyoLocationPayload } from './Payload'
@@ -34,6 +35,7 @@ export class XyoLocationWitness extends XyoWitness<XyoLocationPayload, XyoLocati
34
35
 
35
36
  override async observe(_fields: Partial<XyoLocationPayload>): Promise<XyoLocationPayload> {
36
37
  const location = await this.getCurrentPosition()
38
+ const quadkey = Quadkey.fromLngLat({ lat: location.coords.latitude, lng: location.coords.longitude }, 32)
37
39
  return super.observe({
38
40
  accuracy: location.coords.accuracy,
39
41
  altitude: location.coords.altitude ?? undefined,
@@ -41,6 +43,7 @@ export class XyoLocationWitness extends XyoWitness<XyoLocationPayload, XyoLocati
41
43
  heading: location.coords.heading ?? undefined,
42
44
  latitude: location.coords.latitude,
43
45
  longitude: location.coords.longitude,
46
+ quadkey: quadkey?.toBase4Hash(),
44
47
  speed: location.coords.speed ?? undefined,
45
48
  time: Date.now(),
46
49
  })