@xyo-network/location-payload-plugin 2.41.11 → 2.41.12

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 (108) hide show
  1. package/dist/cjs/CurrentLocationPayloadSet.d.ts +3 -0
  2. package/dist/cjs/CurrentLocationPayloadSet.d.ts.map +1 -0
  3. package/dist/cjs/CurrentLocationPayloadSet.js +16 -0
  4. package/dist/cjs/CurrentLocationPayloadSet.js.map +1 -0
  5. package/dist/cjs/CurrentLocationWitness.d.ts +21 -0
  6. package/dist/cjs/CurrentLocationWitness.d.ts.map +1 -0
  7. package/dist/cjs/{Witness.js → CurrentLocationWitness.js} +20 -18
  8. package/dist/cjs/CurrentLocationWitness.js.map +1 -0
  9. package/dist/cjs/GeographicCoordinateSystemLocationPayload.d.ts +19 -0
  10. package/dist/cjs/GeographicCoordinateSystemLocationPayload.d.ts.map +1 -0
  11. package/dist/cjs/GeographicCoordinateSystemLocationPayload.js +3 -0
  12. package/dist/cjs/GeographicCoordinateSystemLocationPayload.js.map +1 -0
  13. package/dist/cjs/GeographicCoordinateSystemLocationSchema.d.ts +7 -0
  14. package/dist/cjs/GeographicCoordinateSystemLocationSchema.d.ts.map +1 -0
  15. package/dist/cjs/GeographicCoordinateSystemLocationSchema.js +7 -0
  16. package/dist/cjs/GeographicCoordinateSystemLocationSchema.js.map +1 -0
  17. package/dist/cjs/HeadingPayload.d.ts +16 -0
  18. package/dist/cjs/HeadingPayload.d.ts.map +1 -0
  19. package/dist/cjs/{Payload.js → HeadingPayload.js} +1 -1
  20. package/dist/cjs/HeadingPayload.js.map +1 -0
  21. package/dist/cjs/HeadingSchema.d.ts +3 -0
  22. package/dist/cjs/HeadingSchema.d.ts.map +1 -0
  23. package/dist/cjs/HeadingSchema.js +5 -0
  24. package/dist/cjs/HeadingSchema.js.map +1 -0
  25. package/dist/cjs/Plugin.d.ts +6 -13
  26. package/dist/cjs/Plugin.d.ts.map +1 -1
  27. package/dist/cjs/Plugin.js +9 -11
  28. package/dist/cjs/Plugin.js.map +1 -1
  29. package/dist/cjs/Schema.d.ts +2 -2
  30. package/dist/cjs/Schema.d.ts.map +1 -1
  31. package/dist/cjs/Schema.js +2 -2
  32. package/dist/cjs/Schema.js.map +1 -1
  33. package/dist/cjs/index.d.ts +9 -6
  34. package/dist/cjs/index.d.ts.map +1 -1
  35. package/dist/cjs/index.js +9 -6
  36. package/dist/cjs/index.js.map +1 -1
  37. package/dist/docs.json +1655 -1165
  38. package/dist/esm/CurrentLocationPayloadSet.d.ts +3 -0
  39. package/dist/esm/CurrentLocationPayloadSet.d.ts.map +1 -0
  40. package/dist/esm/CurrentLocationPayloadSet.js +13 -0
  41. package/dist/esm/CurrentLocationPayloadSet.js.map +1 -0
  42. package/dist/esm/CurrentLocationWitness.d.ts +21 -0
  43. package/dist/esm/CurrentLocationWitness.d.ts.map +1 -0
  44. package/dist/esm/{Witness.js → CurrentLocationWitness.js} +18 -16
  45. package/dist/esm/CurrentLocationWitness.js.map +1 -0
  46. package/dist/esm/GeographicCoordinateSystemLocationPayload.d.ts +19 -0
  47. package/dist/esm/GeographicCoordinateSystemLocationPayload.d.ts.map +1 -0
  48. package/dist/esm/GeographicCoordinateSystemLocationPayload.js +2 -0
  49. package/dist/esm/GeographicCoordinateSystemLocationPayload.js.map +1 -0
  50. package/dist/esm/GeographicCoordinateSystemLocationSchema.d.ts +7 -0
  51. package/dist/esm/GeographicCoordinateSystemLocationSchema.d.ts.map +1 -0
  52. package/dist/esm/GeographicCoordinateSystemLocationSchema.js +4 -0
  53. package/dist/esm/GeographicCoordinateSystemLocationSchema.js.map +1 -0
  54. package/dist/esm/HeadingPayload.d.ts +16 -0
  55. package/dist/esm/HeadingPayload.d.ts.map +1 -0
  56. package/dist/esm/HeadingPayload.js +2 -0
  57. package/dist/esm/HeadingPayload.js.map +1 -0
  58. package/dist/esm/HeadingSchema.d.ts +3 -0
  59. package/dist/esm/HeadingSchema.d.ts.map +1 -0
  60. package/dist/esm/HeadingSchema.js +2 -0
  61. package/dist/esm/HeadingSchema.js.map +1 -0
  62. package/dist/esm/Plugin.d.ts +6 -13
  63. package/dist/esm/Plugin.d.ts.map +1 -1
  64. package/dist/esm/Plugin.js +7 -9
  65. package/dist/esm/Plugin.js.map +1 -1
  66. package/dist/esm/Schema.d.ts +2 -2
  67. package/dist/esm/Schema.d.ts.map +1 -1
  68. package/dist/esm/Schema.js +1 -1
  69. package/dist/esm/Schema.js.map +1 -1
  70. package/dist/esm/index.d.ts +9 -6
  71. package/dist/esm/index.d.ts.map +1 -1
  72. package/dist/esm/index.js +9 -6
  73. package/dist/esm/index.js.map +1 -1
  74. package/package.json +5 -6
  75. package/src/CurrentLocationPayloadSet.ts +14 -0
  76. package/src/CurrentLocationWitness.ts +71 -0
  77. package/src/GeographicCoordinateSystemLocationPayload.ts +26 -0
  78. package/src/GeographicCoordinateSystemLocationSchema.ts +8 -0
  79. package/src/HeadingPayload.ts +23 -0
  80. package/src/HeadingSchema.ts +2 -0
  81. package/src/Plugin.spec.ts +10 -10
  82. package/src/Plugin.ts +13 -13
  83. package/src/Schema.ts +2 -2
  84. package/src/index.ts +9 -6
  85. package/dist/cjs/Payload.d.ts +0 -27
  86. package/dist/cjs/Payload.d.ts.map +0 -1
  87. package/dist/cjs/Payload.js.map +0 -1
  88. package/dist/cjs/Template.d.ts +0 -3
  89. package/dist/cjs/Template.d.ts.map +0 -1
  90. package/dist/cjs/Template.js +0 -20
  91. package/dist/cjs/Template.js.map +0 -1
  92. package/dist/cjs/Witness.d.ts +0 -22
  93. package/dist/cjs/Witness.d.ts.map +0 -1
  94. package/dist/cjs/Witness.js.map +0 -1
  95. package/dist/esm/Payload.d.ts +0 -27
  96. package/dist/esm/Payload.d.ts.map +0 -1
  97. package/dist/esm/Payload.js +0 -2
  98. package/dist/esm/Payload.js.map +0 -1
  99. package/dist/esm/Template.d.ts +0 -3
  100. package/dist/esm/Template.d.ts.map +0 -1
  101. package/dist/esm/Template.js +0 -16
  102. package/dist/esm/Template.js.map +0 -1
  103. package/dist/esm/Witness.d.ts +0 -22
  104. package/dist/esm/Witness.d.ts.map +0 -1
  105. package/dist/esm/Witness.js.map +0 -1
  106. package/src/Payload.ts +0 -33
  107. package/src/Template.ts +0 -17
  108. package/src/Witness.ts +0 -70
@@ -0,0 +1,3 @@
1
+ import { PayloadSetPayload } from '@xyo-network/payload';
2
+ export declare const CurrentLocationPayloadSet: PayloadSetPayload;
3
+ //# sourceMappingURL=CurrentLocationPayloadSet.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentLocationPayloadSet.d.ts","sourceRoot":"","sources":["../../src/CurrentLocationPayloadSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,sBAAsB,CAAA;AAK1E,eAAO,MAAM,yBAAyB,EAAE,iBAQvC,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { PayloadSetSchema } from '@xyo-network/payload';
2
+ import { LocationSchema } from './GeographicCoordinateSystemLocationSchema';
3
+ import { LocationHeadingSchema } from './HeadingSchema';
4
+ export const CurrentLocationPayloadSet = {
5
+ optional: {
6
+ [LocationHeadingSchema]: 1,
7
+ },
8
+ required: {
9
+ [LocationSchema]: 1,
10
+ },
11
+ schema: PayloadSetSchema,
12
+ };
13
+ //# sourceMappingURL=CurrentLocationPayloadSet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentLocationPayloadSet.js","sourceRoot":"","sources":["../../src/CurrentLocationPayloadSet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAE1E,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,QAAQ,EAAE;QACR,CAAC,qBAAqB,CAAC,EAAE,CAAC;KAC3B;IACD,QAAQ,EAAE;QACR,CAAC,cAAc,CAAC,EAAE,CAAC;KACpB;IACD,MAAM,EAAE,gBAAgB;CACzB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { XyoModuleParams } from '@xyo-network/module';
2
+ import { XyoPayload } from '@xyo-network/payload';
3
+ import { AbstractWitness, XyoWitnessConfig } from '@xyo-network/witness';
4
+ export type CurrentLocationWitnessConfigSchema = 'network.xyo.location.current.config';
5
+ export declare const CurrentLocationWitnessConfigSchema: CurrentLocationWitnessConfigSchema;
6
+ export type CurrentLocationWitnessConfig = XyoWitnessConfig<{
7
+ schema: CurrentLocationWitnessConfigSchema;
8
+ }>;
9
+ export type CurrentLocationWitnessParams = XyoModuleParams<CurrentLocationWitnessConfig> & {
10
+ geolocation: Geolocation;
11
+ };
12
+ export declare class CurrentLocationWitness extends AbstractWitness<CurrentLocationWitnessConfig> {
13
+ static configSchema: "network.xyo.location.current.config";
14
+ private _geolocation;
15
+ constructor(params: CurrentLocationWitnessParams);
16
+ get geolocation(): Geolocation;
17
+ static create(params?: XyoModuleParams<CurrentLocationWitnessConfig>): Promise<CurrentLocationWitness>;
18
+ getCurrentPosition(): Promise<GeolocationPosition>;
19
+ observe(_fields: XyoPayload[]): Promise<XyoPayload[]>;
20
+ }
21
+ //# sourceMappingURL=CurrentLocationWitness.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentLocationWitness.d.ts","sourceRoot":"","sources":["../../src/CurrentLocationWitness.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AAOxE,MAAM,MAAM,kCAAkC,GAAG,qCAAqC,CAAA;AACtF,eAAO,MAAM,kCAAkC,EAAE,kCAA0E,CAAA;AAE3H,MAAM,MAAM,4BAA4B,GAAG,gBAAgB,CAAC;IAC1D,MAAM,EAAE,kCAAkC,CAAA;CAC3C,CAAC,CAAA;AAEF,MAAM,MAAM,4BAA4B,GAAG,eAAe,CAAC,4BAA4B,CAAC,GAAG;IAAE,WAAW,EAAE,WAAW,CAAA;CAAE,CAAA;AAEvH,qBAAa,sBAAuB,SAAQ,eAAe,CAAC,4BAA4B,CAAC;IACvF,OAAgB,YAAY,wCAAqC;IAEjE,OAAO,CAAC,YAAY,CAAa;gBAErB,MAAM,EAAE,4BAA4B;IAKhD,IAAW,WAAW,IAAI,WAAW,CAEpC;WAEqB,MAAM,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,4BAA4B,CAAC,GAAG,OAAO,CAAC,sBAAsB,CAAC;IAI9G,kBAAkB;IAaV,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;CAoBrE"}
@@ -1,11 +1,10 @@
1
1
  import { assertEx } from '@xylabs/assert';
2
- import { Quadkey } from '@xyo-network/quadkey';
3
2
  import { AbstractWitness } from '@xyo-network/witness';
4
- import { XyoLocationSchema } from './Schema';
5
- export const XyoLocationWitnessConfigSchema = 'network.xyo.location.config';
6
- export class XyoLocationWitness extends AbstractWitness {
7
- static configSchema = XyoLocationWitnessConfigSchema;
8
- static targetSchema = XyoLocationSchema;
3
+ import { LocationSchema } from './GeographicCoordinateSystemLocationSchema';
4
+ import { LocationHeadingSchema } from './HeadingSchema';
5
+ export const CurrentLocationWitnessConfigSchema = 'network.xyo.location.current.config';
6
+ export class CurrentLocationWitness extends AbstractWitness {
7
+ static configSchema = CurrentLocationWitnessConfigSchema;
9
8
  _geolocation;
10
9
  constructor(params) {
11
10
  super(params);
@@ -28,20 +27,23 @@ export class XyoLocationWitness extends AbstractWitness {
28
27
  }
29
28
  async observe(_fields) {
30
29
  const location = await this.getCurrentPosition();
31
- const quadkey = Quadkey.fromLngLat({ lat: location.coords.latitude, lng: location.coords.longitude }, 32);
32
- const payload = {
33
- accuracy: location.coords.accuracy,
30
+ const locationPayload = {
34
31
  altitude: location.coords.altitude ?? undefined,
35
32
  altitudeAccuracy: location.coords.altitudeAccuracy ?? undefined,
36
- heading: location.coords.heading ?? undefined,
37
33
  latitude: location.coords.latitude,
38
34
  longitude: location.coords.longitude,
39
- quadkey: quadkey?.base4Hash,
40
- schema: XyoLocationSchema,
41
- speed: location.coords.speed ?? undefined,
42
- time: Date.now(),
35
+ schema: LocationSchema,
43
36
  };
44
- return super.observe([payload]);
37
+ const heading = location.coords.heading
38
+ ? [
39
+ {
40
+ heading: location.coords.heading ?? undefined,
41
+ schema: LocationHeadingSchema,
42
+ speed: location.coords.speed ?? undefined,
43
+ },
44
+ ]
45
+ : [];
46
+ return super.observe([locationPayload, ...heading]);
45
47
  }
46
48
  }
47
- //# sourceMappingURL=Witness.js.map
49
+ //# sourceMappingURL=CurrentLocationWitness.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CurrentLocationWitness.js","sourceRoot":"","sources":["../../src/CurrentLocationWitness.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAGzC,OAAO,EAAE,eAAe,EAAoB,MAAM,sBAAsB,CAAA;AAGxE,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAE3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAGvD,MAAM,CAAC,MAAM,kCAAkC,GAAuC,qCAAqC,CAAA;AAQ3H,MAAM,OAAO,sBAAuB,SAAQ,eAA6C;IACvF,MAAM,CAAU,YAAY,GAAG,kCAAkC,CAAA;IAEzD,YAAY,CAAa;IAEjC,YAAY,MAAoC;QAC9C,KAAK,CAAC,MAAM,CAAC,CAAA;QACb,IAAI,CAAC,YAAY,GAAG,MAAM,EAAE,WAAW,CAAA;IACzC,CAAC;IAED,IAAW,WAAW;QACpB,OAAO,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,yBAAyB,CAAC,CAAA;IAC/D,CAAC;IAED,MAAM,CAAU,KAAK,CAAC,MAAM,CAAC,MAAsD;QACjF,OAAO,CAAC,MAAM,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAA2B,CAAA;IAC/D,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,OAAqB;QAC1C,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAA;QAChD,MAAM,eAAe,GAAoB;YACvC,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ,IAAI,SAAS;YAC/C,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,gBAAgB,IAAI,SAAS;YAC/D,QAAQ,EAAE,QAAQ,CAAC,MAAM,CAAC,QAAQ;YAClC,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,SAAS;YACpC,MAAM,EAAE,cAAc;SACvB,CAAA;QACD,MAAM,OAAO,GAA6B,QAAQ,CAAC,MAAM,CAAC,OAAO;YAC/D,CAAC,CAAC;gBACE;oBACE,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,OAAO,IAAI,SAAS;oBAC7C,MAAM,EAAE,qBAAqB;oBAC7B,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,SAAS;iBAC1C;aACF;YACH,CAAC,CAAC,EAAE,CAAA;QACN,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,GAAG,OAAO,CAAC,CAAC,CAAA;IACrD,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ import { GeographicCoordinateSystemLocationSchema, QuadkeyLocationSchema } from './GeographicCoordinateSystemLocationSchema';
3
+ export interface GeographicCoordinateSystemLocation {
4
+ accuracy?: number;
5
+ altitude?: number;
6
+ altitudeAccuracy?: number;
7
+ latitude: number;
8
+ longitude: number;
9
+ }
10
+ export interface QuadkeyLocation {
11
+ altitude?: number;
12
+ altitudeAccuracy?: number;
13
+ quadkey: string;
14
+ }
15
+ export type Location = GeographicCoordinateSystemLocation | QuadkeyLocation;
16
+ export type GeographicCoordinateSystemLocationPayload = XyoPayload<GeographicCoordinateSystemLocation, GeographicCoordinateSystemLocationSchema>;
17
+ export type QuadkeyLocationPayload = XyoPayload<QuadkeyLocation, QuadkeyLocationSchema>;
18
+ export type LocationPayload = XyoPayload<Location>;
19
+ //# sourceMappingURL=GeographicCoordinateSystemLocationPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeographicCoordinateSystemLocationPayload.d.ts","sourceRoot":"","sources":["../../src/GeographicCoordinateSystemLocationPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,wCAAwC,EAAE,qBAAqB,EAAE,MAAM,4CAA4C,CAAA;AAG5H,MAAM,WAAW,kCAAkC;IACjD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,MAAM,QAAQ,GAAG,kCAAkC,GAAG,eAAe,CAAA;AAE3E,MAAM,MAAM,yCAAyC,GAAG,UAAU,CAAC,kCAAkC,EAAE,wCAAwC,CAAC,CAAA;AAEhJ,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;AAEvF,MAAM,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=GeographicCoordinateSystemLocationPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeographicCoordinateSystemLocationPayload.js","sourceRoot":"","sources":["../../src/GeographicCoordinateSystemLocationPayload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ export type GeographicCoordinateSystemLocationSchema = 'network.xyo.location.gcs';
2
+ export declare const GeographicCoordinateSystemLocationSchema: GeographicCoordinateSystemLocationSchema;
3
+ export type QuadkeyLocationSchema = 'network.xyo.location.quadkey';
4
+ export declare const QuadkeyLocationSchema: QuadkeyLocationSchema;
5
+ export type LocationSchema = 'network.xyo.location';
6
+ export declare const LocationSchema: LocationSchema;
7
+ //# sourceMappingURL=GeographicCoordinateSystemLocationSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeographicCoordinateSystemLocationSchema.d.ts","sourceRoot":"","sources":["../../src/GeographicCoordinateSystemLocationSchema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,wCAAwC,GAAG,0BAA0B,CAAA;AACjF,eAAO,MAAM,wCAAwC,EAAE,wCAAqE,CAAA;AAE5H,MAAM,MAAM,qBAAqB,GAAG,8BAA8B,CAAA;AAClE,eAAO,MAAM,qBAAqB,EAAE,qBAAsD,CAAA;AAE1F,MAAM,MAAM,cAAc,GAAG,sBAAsB,CAAA;AACnD,eAAO,MAAM,cAAc,EAAE,cAAuC,CAAA"}
@@ -0,0 +1,4 @@
1
+ export const GeographicCoordinateSystemLocationSchema = 'network.xyo.location.gcs';
2
+ export const QuadkeyLocationSchema = 'network.xyo.location.quadkey';
3
+ export const LocationSchema = 'network.xyo.location';
4
+ //# sourceMappingURL=GeographicCoordinateSystemLocationSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GeographicCoordinateSystemLocationSchema.js","sourceRoot":"","sources":["../../src/GeographicCoordinateSystemLocationSchema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,wCAAwC,GAA6C,0BAA0B,CAAA;AAG5H,MAAM,CAAC,MAAM,qBAAqB,GAA0B,8BAA8B,CAAA;AAG1F,MAAM,CAAC,MAAM,cAAc,GAAmB,sBAAsB,CAAA"}
@@ -0,0 +1,16 @@
1
+ import { XyoPayload } from '@xyo-network/payload';
2
+ import { LocationHeadingSchema } from './HeadingSchema';
3
+ export type Acceleration = {
4
+ acceleration: number;
5
+ };
6
+ export type Heading = {
7
+ heading: number;
8
+ };
9
+ export type Speed = {
10
+ speed: number;
11
+ };
12
+ export type Velocity = Heading & Speed;
13
+ export type Motion = Velocity & Partial<Acceleration>;
14
+ export type LocationHeading = Motion | Heading;
15
+ export type LocationHeadingPayload = XyoPayload<LocationHeading, LocationHeadingSchema>;
16
+ //# sourceMappingURL=HeadingPayload.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingPayload.d.ts","sourceRoot":"","sources":["../../src/HeadingPayload.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEjD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAEvD,MAAM,MAAM,YAAY,GAAG;IACzB,YAAY,EAAE,MAAM,CAAA;CACrB,CAAA;AAED,MAAM,MAAM,OAAO,GAAG;IACpB,OAAO,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,KAAK,CAAA;AAEtC,MAAM,MAAM,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,YAAY,CAAC,CAAA;AAErD,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,OAAO,CAAA;AAE9C,MAAM,MAAM,sBAAsB,GAAG,UAAU,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=HeadingPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingPayload.js","sourceRoot":"","sources":["../../src/HeadingPayload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type LocationHeadingSchema = 'network.xyo.location.heading';
2
+ export declare const LocationHeadingSchema: LocationHeadingSchema;
3
+ //# sourceMappingURL=HeadingSchema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingSchema.d.ts","sourceRoot":"","sources":["../../src/HeadingSchema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,8BAA8B,CAAA;AAClE,eAAO,MAAM,qBAAqB,EAAE,qBAAsD,CAAA"}
@@ -0,0 +1,2 @@
1
+ export const LocationHeadingSchema = 'network.xyo.location.heading';
2
+ //# sourceMappingURL=HeadingSchema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HeadingSchema.js","sourceRoot":"","sources":["../../src/HeadingSchema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,8BAA8B,CAAA"}
@@ -1,22 +1,15 @@
1
1
  import { XyoModuleParams } from '@xyo-network/module';
2
- import { XyoLocationPayload } from './Payload';
3
- export declare const XyoLocationPayloadPlugin: () => import("@xyo-network/payload-plugin").XyoPayloadPlugin<XyoLocationPayload, XyoModuleParams<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
2
+ import { PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin';
3
+ export declare const LocationPlugin: () => PayloadSetWitnessPlugin<XyoModuleParams<import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & {
4
4
  security?: {
5
5
  allowed?: Record<string, string[][]> | undefined;
6
6
  disallowed?: Record<string, string[]> | undefined;
7
7
  } | undefined;
8
8
  } & {
9
- schema: "network.xyo.location.config";
9
+ schema: "network.xyo.location.current.config";
10
10
  } & {
11
- targetSchema: "network.xyo.location";
12
- }>, XyoModuleParams<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
- targetSchema?: string | undefined;
19
- } & {
20
- schema: string;
11
+ targetSet?: (import("@xyo-network/payload").SchemaFields & import("@xyo-network/payload").PayloadFields & import("@xyo-network/payload").PayloadSet & {
12
+ schema: "network.xyo.payload.set";
13
+ }) | undefined;
21
14
  }>>;
22
15
  //# sourceMappingURL=Plugin.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAGrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAK9C,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;GAQjC,CAAA"}
1
+ {"version":3,"file":"Plugin.d.ts","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAErD,OAAO,EAA0B,uBAAuB,EAAE,MAAM,gCAAgC,CAAA;AAKhG,eAAO,MAAM,cAAc;;;;;;;;;;;GASxB,CAAA"}
@@ -1,13 +1,11 @@
1
- import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin';
2
- import { XyoLocationSchema } from './Schema';
3
- import { XyoLocationPayloadTemplate } from './Template';
4
- import { XyoLocationWitness } from './Witness';
5
- export const XyoLocationPayloadPlugin = () => createXyoPayloadPlugin({
6
- auto: true,
7
- schema: XyoLocationSchema,
8
- template: XyoLocationPayloadTemplate,
1
+ import { PayloadSetSchema } from '@xyo-network/payload';
2
+ import { createPayloadSetPlugin } from '@xyo-network/payloadset-plugin';
3
+ import { CurrentLocationWitness } from './CurrentLocationWitness';
4
+ import { LocationSchema } from './GeographicCoordinateSystemLocationSchema';
5
+ export const LocationPlugin = () => createPayloadSetPlugin({ required: { [LocationSchema]: 1 }, schema: PayloadSetSchema }, {
9
6
  witness: async (params) => {
10
- return await XyoLocationWitness.create(params);
7
+ const result = await CurrentLocationWitness.create(params);
8
+ return result;
11
9
  },
12
10
  });
13
11
  //# sourceMappingURL=Plugin.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAA;AAGpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAA;AAC5C,OAAO,EAAE,0BAA0B,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,EAAE,kBAAkB,EAA4B,MAAM,WAAW,CAAA;AAExE,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,EAAE,CAC3C,sBAAsB,CAAgE;IACpF,IAAI,EAAE,IAAI;IACV,MAAM,EAAE,iBAAiB;IACzB,QAAQ,EAAE,0BAA0B;IACpC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,OAAO,MAAM,kBAAkB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;IAChD,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"Plugin.js","sourceRoot":"","sources":["../../src/Plugin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAA;AACvD,OAAO,EAAE,sBAAsB,EAA2B,MAAM,gCAAgC,CAAA;AAEhG,OAAO,EAAE,sBAAsB,EAAgC,MAAM,0BAA0B,CAAA;AAC/F,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAA;AAE3E,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,EAAE,CACjC,sBAAsB,CACpB,EAAE,QAAQ,EAAE,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE,EAC/D;IACE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE;QACxB,MAAM,MAAM,GAAG,MAAM,sBAAsB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAA;QAC1D,OAAO,MAAM,CAAA;IACf,CAAC;CACF,CACF,CAAA"}
@@ -1,3 +1,3 @@
1
- export type XyoLocationSchema = 'network.xyo.location';
2
- export declare const XyoLocationSchema: XyoLocationSchema;
1
+ export type CurrentLocationSchema = 'network.xyo.location.current';
2
+ export declare const CurrentLocationSchema: CurrentLocationSchema;
3
3
  //# sourceMappingURL=Schema.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,iBAAiB,GAAG,sBAAsB,CAAA;AACtD,eAAO,MAAM,iBAAiB,EAAE,iBAA0C,CAAA"}
1
+ {"version":3,"file":"Schema.d.ts","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG,8BAA8B,CAAA;AAClE,eAAO,MAAM,qBAAqB,EAAE,qBAAsD,CAAA"}
@@ -1,2 +1,2 @@
1
- export const XyoLocationSchema = 'network.xyo.location';
1
+ export const CurrentLocationSchema = 'network.xyo.location.current';
2
2
  //# sourceMappingURL=Schema.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,iBAAiB,GAAsB,sBAAsB,CAAA"}
1
+ {"version":3,"file":"Schema.js","sourceRoot":"","sources":["../../src/Schema.ts"],"names":[],"mappings":"AACA,MAAM,CAAC,MAAM,qBAAqB,GAA0B,8BAA8B,CAAA"}
@@ -1,8 +1,11 @@
1
- import { XyoLocationPayloadPlugin } from './Plugin';
2
- export * from './Payload';
1
+ import { LocationPlugin } from './Plugin';
2
+ export * from './CurrentLocationPayloadSet';
3
+ export * from './CurrentLocationWitness';
4
+ export * from './GeographicCoordinateSystemLocationPayload';
5
+ export * from './GeographicCoordinateSystemLocationSchema';
6
+ export * from './HeadingPayload';
7
+ export * from './HeadingSchema';
3
8
  export * from './Schema';
4
- export * from './Template';
5
- export * from './Witness';
6
- export { XyoLocationPayloadPlugin };
7
- export default XyoLocationPayloadPlugin;
9
+ export { LocationPlugin };
10
+ export default LocationPlugin;
8
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAEnD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAGnC,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,6CAA6C,CAAA;AAC3D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,CAAA;AAGzB,eAAe,cAAc,CAAA"}
package/dist/esm/index.js CHANGED
@@ -1,9 +1,12 @@
1
- import { XyoLocationPayloadPlugin } from './Plugin';
2
- export * from './Payload';
1
+ import { LocationPlugin } from './Plugin';
2
+ export * from './CurrentLocationPayloadSet';
3
+ export * from './CurrentLocationWitness';
4
+ export * from './GeographicCoordinateSystemLocationPayload';
5
+ export * from './GeographicCoordinateSystemLocationSchema';
6
+ export * from './HeadingPayload';
7
+ export * from './HeadingSchema';
3
8
  export * from './Schema';
4
- export * from './Template';
5
- export * from './Witness';
6
- export { XyoLocationPayloadPlugin };
9
+ export { LocationPlugin };
7
10
  // eslint-disable-next-line import/no-default-export
8
- export default XyoLocationPayloadPlugin;
11
+ export default LocationPlugin;
9
12
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAA;AAEnD,cAAc,WAAW,CAAA;AACzB,cAAc,UAAU,CAAA;AACxB,cAAc,YAAY,CAAA;AAC1B,cAAc,WAAW,CAAA;AAEzB,OAAO,EAAE,wBAAwB,EAAE,CAAA;AAEnC,oDAAoD;AACpD,eAAe,wBAAwB,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,UAAU,CAAA;AAEzC,cAAc,6BAA6B,CAAA;AAC3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,6CAA6C,CAAA;AAC3D,cAAc,4CAA4C,CAAA;AAC1D,cAAc,kBAAkB,CAAA;AAChC,cAAc,iBAAiB,CAAA;AAC/B,cAAc,UAAU,CAAA;AAExB,OAAO,EAAE,cAAc,EAAE,CAAA;AAEzB,oDAAoD;AACpD,eAAe,cAAc,CAAA"}
package/package.json CHANGED
@@ -11,11 +11,10 @@
11
11
  },
12
12
  "dependencies": {
13
13
  "@xylabs/assert": "^2.6.9",
14
- "@xyo-network/module": "^2.41.11",
15
- "@xyo-network/payload": "^2.41.11",
16
- "@xyo-network/payload-plugin": "^2.41.11",
17
- "@xyo-network/quadkey": "^2.41.11",
18
- "@xyo-network/witness": "^2.41.11",
14
+ "@xyo-network/module": "^2.41.12",
15
+ "@xyo-network/payload": "^2.41.12",
16
+ "@xyo-network/payloadset-plugin": "^2.41.12",
17
+ "@xyo-network/witness": "^2.41.12",
19
18
  "tslib": "^2.4.1"
20
19
  },
21
20
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -51,5 +50,5 @@
51
50
  },
52
51
  "sideEffects": false,
53
52
  "types": "dist/esm/index.d.ts",
54
- "version": "2.41.11"
53
+ "version": "2.41.12"
55
54
  }
@@ -0,0 +1,14 @@
1
+ import { PayloadSetPayload, PayloadSetSchema } from '@xyo-network/payload'
2
+
3
+ import { LocationSchema } from './GeographicCoordinateSystemLocationSchema'
4
+ import { LocationHeadingSchema } from './HeadingSchema'
5
+
6
+ export const CurrentLocationPayloadSet: PayloadSetPayload = {
7
+ optional: {
8
+ [LocationHeadingSchema]: 1,
9
+ },
10
+ required: {
11
+ [LocationSchema]: 1,
12
+ },
13
+ schema: PayloadSetSchema,
14
+ }
@@ -0,0 +1,71 @@
1
+ import { assertEx } from '@xylabs/assert'
2
+ import { XyoModuleParams } from '@xyo-network/module'
3
+ import { XyoPayload } from '@xyo-network/payload'
4
+ import { AbstractWitness, XyoWitnessConfig } from '@xyo-network/witness'
5
+
6
+ import { LocationPayload } from './GeographicCoordinateSystemLocationPayload'
7
+ import { LocationSchema } from './GeographicCoordinateSystemLocationSchema'
8
+ import { LocationHeadingPayload } from './HeadingPayload'
9
+ import { LocationHeadingSchema } from './HeadingSchema'
10
+
11
+ export type CurrentLocationWitnessConfigSchema = 'network.xyo.location.current.config'
12
+ export const CurrentLocationWitnessConfigSchema: CurrentLocationWitnessConfigSchema = 'network.xyo.location.current.config'
13
+
14
+ export type CurrentLocationWitnessConfig = XyoWitnessConfig<{
15
+ schema: CurrentLocationWitnessConfigSchema
16
+ }>
17
+
18
+ export type CurrentLocationWitnessParams = XyoModuleParams<CurrentLocationWitnessConfig> & { geolocation: Geolocation }
19
+
20
+ export class CurrentLocationWitness extends AbstractWitness<CurrentLocationWitnessConfig> {
21
+ static override configSchema = CurrentLocationWitnessConfigSchema
22
+
23
+ private _geolocation: Geolocation
24
+
25
+ constructor(params: CurrentLocationWitnessParams) {
26
+ super(params)
27
+ this._geolocation = params?.geolocation
28
+ }
29
+
30
+ public get geolocation(): Geolocation {
31
+ return assertEx(this._geolocation, 'No geolocation provided')
32
+ }
33
+
34
+ static override async create(params?: XyoModuleParams<CurrentLocationWitnessConfig>): Promise<CurrentLocationWitness> {
35
+ return (await super.create(params)) as CurrentLocationWitness
36
+ }
37
+
38
+ public getCurrentPosition() {
39
+ return new Promise<GeolocationPosition>((resolve, reject) => {
40
+ this.geolocation?.getCurrentPosition(
41
+ (position: GeolocationPosition) => {
42
+ resolve(position)
43
+ },
44
+ (error: GeolocationPositionError) => {
45
+ reject(error)
46
+ },
47
+ )
48
+ })
49
+ }
50
+
51
+ override async observe(_fields: XyoPayload[]): Promise<XyoPayload[]> {
52
+ const location = await this.getCurrentPosition()
53
+ const locationPayload: LocationPayload = {
54
+ altitude: location.coords.altitude ?? undefined,
55
+ altitudeAccuracy: location.coords.altitudeAccuracy ?? undefined,
56
+ latitude: location.coords.latitude,
57
+ longitude: location.coords.longitude,
58
+ schema: LocationSchema,
59
+ }
60
+ const heading: LocationHeadingPayload[] = location.coords.heading
61
+ ? [
62
+ {
63
+ heading: location.coords.heading ?? undefined,
64
+ schema: LocationHeadingSchema,
65
+ speed: location.coords.speed ?? undefined,
66
+ },
67
+ ]
68
+ : []
69
+ return super.observe([locationPayload, ...heading])
70
+ }
71
+ }
@@ -0,0 +1,26 @@
1
+ import { XyoPayload } from '@xyo-network/payload'
2
+
3
+ import { GeographicCoordinateSystemLocationSchema, QuadkeyLocationSchema } from './GeographicCoordinateSystemLocationSchema'
4
+
5
+ // Geographic Coordinate system (GCS) is the official name of lng/lat system
6
+ export interface GeographicCoordinateSystemLocation {
7
+ accuracy?: number
8
+ altitude?: number
9
+ altitudeAccuracy?: number
10
+ latitude: number
11
+ longitude: number
12
+ }
13
+
14
+ export interface QuadkeyLocation {
15
+ altitude?: number
16
+ altitudeAccuracy?: number
17
+ quadkey: string
18
+ }
19
+
20
+ export type Location = GeographicCoordinateSystemLocation | QuadkeyLocation
21
+
22
+ export type GeographicCoordinateSystemLocationPayload = XyoPayload<GeographicCoordinateSystemLocation, GeographicCoordinateSystemLocationSchema>
23
+
24
+ export type QuadkeyLocationPayload = XyoPayload<QuadkeyLocation, QuadkeyLocationSchema>
25
+
26
+ export type LocationPayload = XyoPayload<Location>
@@ -0,0 +1,8 @@
1
+ export type GeographicCoordinateSystemLocationSchema = 'network.xyo.location.gcs'
2
+ export const GeographicCoordinateSystemLocationSchema: GeographicCoordinateSystemLocationSchema = 'network.xyo.location.gcs'
3
+
4
+ export type QuadkeyLocationSchema = 'network.xyo.location.quadkey'
5
+ export const QuadkeyLocationSchema: QuadkeyLocationSchema = 'network.xyo.location.quadkey'
6
+
7
+ export type LocationSchema = 'network.xyo.location'
8
+ export const LocationSchema: LocationSchema = 'network.xyo.location'
@@ -0,0 +1,23 @@
1
+ import { XyoPayload } from '@xyo-network/payload'
2
+
3
+ import { LocationHeadingSchema } from './HeadingSchema'
4
+
5
+ export type Acceleration = {
6
+ acceleration: number
7
+ }
8
+
9
+ export type Heading = {
10
+ heading: number
11
+ }
12
+
13
+ export type Speed = {
14
+ speed: number
15
+ }
16
+
17
+ export type Velocity = Heading & Speed
18
+
19
+ export type Motion = Velocity & Partial<Acceleration>
20
+
21
+ export type LocationHeading = Motion | Heading
22
+
23
+ export type LocationHeadingPayload = XyoPayload<LocationHeading, LocationHeadingSchema>
@@ -0,0 +1,2 @@
1
+ export type LocationHeadingSchema = 'network.xyo.location.heading'
2
+ export const LocationHeadingSchema: LocationHeadingSchema = 'network.xyo.location.heading'
@@ -2,24 +2,24 @@
2
2
  * @jest-environment jsdom
3
3
  */
4
4
 
5
- import { XyoPayloadPluginResolver } from '@xyo-network/payload-plugin'
5
+ import { PayloadSetPluginResolver } from '@xyo-network/payloadset-plugin'
6
6
 
7
- import { XyoLocationPayloadPlugin } from './Plugin'
8
- import { XyoLocationSchema } from './Schema'
9
- import { XyoLocationWitnessConfigSchema } from './Witness'
7
+ import { CurrentLocationWitnessConfigSchema } from './CurrentLocationWitness'
8
+ import { LocationPlugin } from './Plugin'
9
+ import { CurrentLocationSchema } from './Schema'
10
10
 
11
- describe('XyoLocationPayloadPlugin', () => {
11
+ describe('LocationPlugin', () => {
12
12
  test('Add to Resolver', () => {
13
- const resolver = new XyoPayloadPluginResolver().register(XyoLocationPayloadPlugin(), {
13
+ const plugin = LocationPlugin()
14
+ const resolver = new PayloadSetPluginResolver().register(plugin, {
14
15
  witness: {
15
16
  config: {
16
- schema: XyoLocationWitnessConfigSchema,
17
- targetSchema: XyoLocationSchema,
17
+ schema: CurrentLocationWitnessConfigSchema,
18
18
  },
19
19
  geolocation: navigator.geolocation,
20
20
  },
21
21
  })
22
- expect(resolver.resolve({ schema: XyoLocationSchema })).toBeObject()
23
- expect(resolver.witness(XyoLocationSchema)).toBeObject()
22
+ expect(resolver.resolve(plugin.set)).toBeObject()
23
+ expect(resolver.witness(CurrentLocationSchema)).toBeObject()
24
24
  })
25
25
  })
package/src/Plugin.ts CHANGED
@@ -1,17 +1,17 @@
1
1
  import { XyoModuleParams } from '@xyo-network/module'
2
- import { createXyoPayloadPlugin } from '@xyo-network/payload-plugin'
2
+ import { PayloadSetSchema } from '@xyo-network/payload'
3
+ import { createPayloadSetPlugin, PayloadSetWitnessPlugin } from '@xyo-network/payloadset-plugin'
3
4
 
4
- import { XyoLocationPayload } from './Payload'
5
- import { XyoLocationSchema } from './Schema'
6
- import { XyoLocationPayloadTemplate } from './Template'
7
- import { XyoLocationWitness, XyoLocationWitnessConfig } from './Witness'
5
+ import { CurrentLocationWitness, CurrentLocationWitnessConfig } from './CurrentLocationWitness'
6
+ import { LocationSchema } from './GeographicCoordinateSystemLocationSchema'
8
7
 
9
- export const XyoLocationPayloadPlugin = () =>
10
- createXyoPayloadPlugin<XyoLocationPayload, XyoModuleParams<XyoLocationWitnessConfig>>({
11
- auto: true,
12
- schema: XyoLocationSchema,
13
- template: XyoLocationPayloadTemplate,
14
- witness: async (params) => {
15
- return await XyoLocationWitness.create(params)
8
+ export const LocationPlugin = () =>
9
+ createPayloadSetPlugin<PayloadSetWitnessPlugin<XyoModuleParams<CurrentLocationWitnessConfig>>>(
10
+ { required: { [LocationSchema]: 1 }, schema: PayloadSetSchema },
11
+ {
12
+ witness: async (params) => {
13
+ const result = await CurrentLocationWitness.create(params)
14
+ return result
15
+ },
16
16
  },
17
- })
17
+ )
package/src/Schema.ts CHANGED
@@ -1,2 +1,2 @@
1
- export type XyoLocationSchema = 'network.xyo.location'
2
- export const XyoLocationSchema: XyoLocationSchema = 'network.xyo.location'
1
+ export type CurrentLocationSchema = 'network.xyo.location.current'
2
+ export const CurrentLocationSchema: CurrentLocationSchema = 'network.xyo.location.current'