@xube/kit-aws-data-schema 0.0.73

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 (77) hide show
  1. package/dist/constants.d.ts +2 -0
  2. package/dist/constants.js +5 -0
  3. package/dist/decode/aggregate.d.ts +107 -0
  4. package/dist/decode/aggregate.js +17 -0
  5. package/dist/decode/reading.d.ts +94 -0
  6. package/dist/decode/reading.js +23 -0
  7. package/dist/generated/index.d.ts +16 -0
  8. package/dist/generated/index.js +41 -0
  9. package/dist/generated/types/aggregateMetadata.d.ts +11 -0
  10. package/dist/generated/types/aggregateMetadata.js +23 -0
  11. package/dist/generated/types/aggregateMetadataTypes.d.ts +19 -0
  12. package/dist/generated/types/aggregateMetadataTypes.js +23 -0
  13. package/dist/generated/types/aggregateMetadataV1.d.ts +19 -0
  14. package/dist/generated/types/aggregateMetadataV1.js +23 -0
  15. package/dist/generated/types/dataMessage.d.ts +15 -0
  16. package/dist/generated/types/dataMessage.js +23 -0
  17. package/dist/generated/types/deviceReadingMetadataV1.d.ts +12 -0
  18. package/dist/generated/types/deviceReadingMetadataV1.js +23 -0
  19. package/dist/generated/types/deviceReadingV1.d.ts +15 -0
  20. package/dist/generated/types/deviceReadingV1.js +23 -0
  21. package/dist/generated/types/readingMetadataV1.d.ts +12 -0
  22. package/dist/generated/types/readingMetadataV1.js +23 -0
  23. package/dist/generated/types/readingV1.d.ts +16 -0
  24. package/dist/generated/types/readingV1.js +23 -0
  25. package/dist/generated/validators/aggregateMetadata.d.ts +13 -0
  26. package/dist/generated/validators/aggregateMetadata.js +54 -0
  27. package/dist/generated/validators/aggregateMetadataTypes.d.ts +13 -0
  28. package/dist/generated/validators/aggregateMetadataTypes.js +236 -0
  29. package/dist/generated/validators/aggregateMetadataV1.d.ts +13 -0
  30. package/dist/generated/validators/aggregateMetadataV1.js +236 -0
  31. package/dist/generated/validators/dataMessage.d.ts +13 -0
  32. package/dist/generated/validators/dataMessage.js +142 -0
  33. package/dist/generated/validators/deviceReadingMetadataV1.d.ts +13 -0
  34. package/dist/generated/validators/deviceReadingMetadataV1.js +77 -0
  35. package/dist/generated/validators/deviceReadingV1.d.ts +13 -0
  36. package/dist/generated/validators/deviceReadingV1.js +127 -0
  37. package/dist/generated/validators/readingMetadataV1.d.ts +13 -0
  38. package/dist/generated/validators/readingMetadataV1.js +77 -0
  39. package/dist/generated/validators/readingV1.d.ts +13 -0
  40. package/dist/generated/validators/readingV1.js +216 -0
  41. package/dist/generator.d.ts +1 -0
  42. package/dist/generator.js +17 -0
  43. package/dist/get/get-data-by-date-range.d.ts +204 -0
  44. package/dist/get/get-data-by-date-range.js +35 -0
  45. package/dist/index.d.ts +7 -0
  46. package/dist/index.js +23 -0
  47. package/dist/key/get.d.ts +2 -0
  48. package/dist/key/get.js +11 -0
  49. package/dist/message/message.d.ts +20 -0
  50. package/dist/message/message.js +11 -0
  51. package/package.json +34 -0
  52. package/src/constants.ts +3 -0
  53. package/src/decode/aggregate.ts +18 -0
  54. package/src/decode/reading.ts +23 -0
  55. package/src/generated/index.ts +16 -0
  56. package/src/generated/types/aggregateMetadata.ts +26 -0
  57. package/src/generated/types/aggregateMetadataTypes.ts +34 -0
  58. package/src/generated/types/aggregateMetadataV1.ts +34 -0
  59. package/src/generated/types/dataMessage.ts +30 -0
  60. package/src/generated/types/deviceReadingMetadataV1.ts +27 -0
  61. package/src/generated/types/deviceReadingV1.ts +30 -0
  62. package/src/generated/types/readingMetadataV1.ts +27 -0
  63. package/src/generated/types/readingV1.ts +31 -0
  64. package/src/generated/validators/aggregateMetadata.js +1 -0
  65. package/src/generated/validators/aggregateMetadataTypes.js +1 -0
  66. package/src/generated/validators/aggregateMetadataV1.js +1 -0
  67. package/src/generated/validators/dataMessage.js +1 -0
  68. package/src/generated/validators/deviceReadingMetadataV1.js +1 -0
  69. package/src/generated/validators/deviceReadingV1.js +1 -0
  70. package/src/generated/validators/readingMetadataV1.js +1 -0
  71. package/src/generated/validators/readingV1.js +1 -0
  72. package/src/generator.ts +50 -0
  73. package/src/get/get-data-by-date-range.ts +52 -0
  74. package/src/index.ts +7 -0
  75. package/src/key/get.ts +11 -0
  76. package/src/message/message.ts +9 -0
  77. package/tsconfig.json +25 -0
@@ -0,0 +1,26 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type AggregateMetadata = {
11
+ v: number;
12
+ };
13
+
14
+
15
+
16
+ import { XubeLog } from "@xube/kit-log";
17
+ import validate from "../validators/aggregateMetadata";
18
+
19
+ export const isAggregateMetadata = (item: unknown): item is AggregateMetadata => {
20
+ const isValid: boolean = validate(item);
21
+ if(!isValid){
22
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
23
+ }
24
+ return isValid;
25
+ }
26
+
@@ -0,0 +1,34 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type AggregateMetadataTypes = {
11
+ v: 1;
12
+ s: number;
13
+ m: {
14
+ m: {
15
+ s: number;
16
+ us: number;
17
+ };
18
+ s?: number | undefined;
19
+ }[];
20
+ };
21
+
22
+
23
+
24
+ import { XubeLog } from "@xube/kit-log";
25
+ import validate from "../validators/aggregateMetadataTypes";
26
+
27
+ export const isAggregateMetadataTypes = (item: unknown): item is AggregateMetadataTypes => {
28
+ const isValid: boolean = validate(item);
29
+ if(!isValid){
30
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
31
+ }
32
+ return isValid;
33
+ }
34
+
@@ -0,0 +1,34 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type AggregateMetadataV1 = {
11
+ v: 1;
12
+ s: number;
13
+ m: {
14
+ m: {
15
+ s: number;
16
+ us: number;
17
+ };
18
+ s?: number | undefined;
19
+ }[];
20
+ };
21
+
22
+
23
+
24
+ import { XubeLog } from "@xube/kit-log";
25
+ import validate from "../validators/aggregateMetadataV1";
26
+
27
+ export const isAggregateMetadataV1 = (item: unknown): item is AggregateMetadataV1 => {
28
+ const isValid: boolean = validate(item);
29
+ if(!isValid){
30
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
31
+ }
32
+ return isValid;
33
+ }
34
+
@@ -0,0 +1,30 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type DataMessage = {
11
+ payload: string;
12
+ account: string;
13
+ device: string;
14
+ component: string;
15
+ timestamp: number;
16
+ };
17
+
18
+
19
+
20
+ import { XubeLog } from "@xube/kit-log";
21
+ import validate from "../validators/dataMessage";
22
+
23
+ export const isDataMessage = (item: unknown): item is DataMessage => {
24
+ const isValid: boolean = validate(item);
25
+ if(!isValid){
26
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
27
+ }
28
+ return isValid;
29
+ }
30
+
@@ -0,0 +1,27 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type DeviceReadingMetadataV1 = {
11
+ s: number;
12
+ us: number;
13
+ };
14
+
15
+
16
+
17
+ import { XubeLog } from "@xube/kit-log";
18
+ import validate from "../validators/deviceReadingMetadataV1";
19
+
20
+ export const isDeviceReadingMetadataV1 = (item: unknown): item is DeviceReadingMetadataV1 => {
21
+ const isValid: boolean = validate(item);
22
+ if(!isValid){
23
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
24
+ }
25
+ return isValid;
26
+ }
27
+
@@ -0,0 +1,30 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type DeviceReadingV1 = {
11
+ m: {
12
+ s: number;
13
+ us: number;
14
+ };
15
+ s?: number | undefined;
16
+ };
17
+
18
+
19
+
20
+ import { XubeLog } from "@xube/kit-log";
21
+ import validate from "../validators/deviceReadingV1";
22
+
23
+ export const isDeviceReadingV1 = (item: unknown): item is DeviceReadingV1 => {
24
+ const isValid: boolean = validate(item);
25
+ if(!isValid){
26
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
27
+ }
28
+ return isValid;
29
+ }
30
+
@@ -0,0 +1,27 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type ReadingMetadataV1 = {
11
+ s: number;
12
+ us: number;
13
+ };
14
+
15
+
16
+
17
+ import { XubeLog } from "@xube/kit-log";
18
+ import validate from "../validators/readingMetadataV1";
19
+
20
+ export const isReadingMetadataV1 = (item: unknown): item is ReadingMetadataV1 => {
21
+ const isValid: boolean = validate(item);
22
+ if(!isValid){
23
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
24
+ }
25
+ return isValid;
26
+ }
27
+
@@ -0,0 +1,31 @@
1
+
2
+ /**
3
+ * I am a generated file.
4
+ *
5
+ * If you change me, you and other developers will be sad.
6
+ *
7
+ * #StayGeneratedStayHappy
8
+ */
9
+
10
+ export type ReadingV1 = {
11
+ data: string | number | boolean | {};
12
+ component: string;
13
+ s: number;
14
+ us?: number | undefined;
15
+ type: string;
16
+ id: string;
17
+ };
18
+
19
+
20
+
21
+ import { XubeLog } from "@xube/kit-log";
22
+ import validate from "../validators/readingV1";
23
+
24
+ export const isReadingV1 = (item: unknown): item is ReadingV1 => {
25
+ const isValid: boolean = validate(item);
26
+ if(!isValid){
27
+ XubeLog.getInstance().info(JSON.stringify((validate as typeof validate & {errors: object}).errors, null, 2));
28
+ }
29
+ return isValid;
30
+ }
31
+
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/aggregatemetadataJsonSchema","definitions":{"aggregatemetadataJsonSchema":{"type":"object","properties":{"v":{"type":"number"}},"required":["v"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"v":{"type":"number"}},"required":["v"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.v === undefined){const err0 = {instancePath,schemaPath:"#/definitions/aggregatemetadataJsonSchema/required",keyword:"required",params:{missingProperty: "v"},message:"must have required property '"+"v"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!(key0 === "v")){const err1 = {instancePath,schemaPath:"#/definitions/aggregatemetadataJsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.v !== undefined){let data0 = data.v;if(!((typeof data0 == "number") && (isFinite(data0)))){const err2 = {instancePath:instancePath+"/v",schemaPath:"#/definitions/aggregatemetadataJsonSchema/properties/v/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}}else {const err3 = {instancePath,schemaPath:"#/definitions/aggregatemetadataJsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/aggregatemetadatatypesJsonSchema","definitions":{"aggregatemetadatatypesJsonSchema":{"type":"object","properties":{"v":{"type":"number","const":1},"s":{"type":"number"},"m":{"type":"array","items":{"type":"object","properties":{"m":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false},"s":{"type":"number"}},"required":["m"],"additionalProperties":false}}},"required":["v","s","m"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"v":{"type":"number","const":1},"s":{"type":"number"},"m":{"type":"array","items":{"type":"object","properties":{"m":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false},"s":{"type":"number"}},"required":["m"],"additionalProperties":false}}},"required":["v","s","m"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.v === undefined){const err0 = {instancePath,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/required",keyword:"required",params:{missingProperty: "v"},message:"must have required property '"+"v"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.s === undefined){const err1 = {instancePath,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.m === undefined){const err2 = {instancePath,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/required",keyword:"required",params:{missingProperty: "m"},message:"must have required property '"+"m"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!(((key0 === "v") || (key0 === "s")) || (key0 === "m"))){const err3 = {instancePath,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.v !== undefined){let data0 = data.v;if(!((typeof data0 == "number") && (isFinite(data0)))){const err4 = {instancePath:instancePath+"/v",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/v/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(1 !== data0){const err5 = {instancePath:instancePath+"/v",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/v/const",keyword:"const",params:{allowedValue: 1},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.s !== undefined){let data1 = data.s;if(!((typeof data1 == "number") && (isFinite(data1)))){const err6 = {instancePath:instancePath+"/s",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.m !== undefined){let data2 = data.m;if(Array.isArray(data2)){const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.m === undefined){const err7 = {instancePath:instancePath+"/m/" + i0,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/required",keyword:"required",params:{missingProperty: "m"},message:"must have required property '"+"m"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data3){if(!((key1 === "m") || (key1 === "s"))){const err8 = {instancePath:instancePath+"/m/" + i0,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data3.m !== undefined){let data4 = data3.m;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4.s === undefined){const err9 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/m/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.us === undefined){const err10 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/m/required",keyword:"required",params:{missingProperty: "us"},message:"must have required property '"+"us"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}for(const key2 in data4){if(!((key2 === "s") || (key2 === "us"))){const err11 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/m/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data4.s !== undefined){let data5 = data4.s;if(!((typeof data5 == "number") && (isFinite(data5)))){const err12 = {instancePath:instancePath+"/m/" + i0+"/m/s",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/m/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.us !== undefined){let data6 = data4.us;if(!((typeof data6 == "number") && (isFinite(data6)))){const err13 = {instancePath:instancePath+"/m/" + i0+"/m/us",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/m/properties/us/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/m/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data3.s !== undefined){let data7 = data3.s;if(!((typeof data7 == "number") && (isFinite(data7)))){const err15 = {instancePath:instancePath+"/m/" + i0+"/s",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}else {const err16 = {instancePath:instancePath+"/m/" + i0,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}}else {const err17 = {instancePath:instancePath+"/m",schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/properties/m/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/definitions/aggregatemetadatatypesJsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/aggregatemetadatav1JsonSchema","definitions":{"aggregatemetadatav1JsonSchema":{"type":"object","properties":{"v":{"type":"number","const":1},"s":{"type":"number"},"m":{"type":"array","items":{"type":"object","properties":{"m":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false},"s":{"type":"number"}},"required":["m"],"additionalProperties":false}}},"required":["v","s","m"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"v":{"type":"number","const":1},"s":{"type":"number"},"m":{"type":"array","items":{"type":"object","properties":{"m":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false},"s":{"type":"number"}},"required":["m"],"additionalProperties":false}}},"required":["v","s","m"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.v === undefined){const err0 = {instancePath,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "v"},message:"must have required property '"+"v"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.s === undefined){const err1 = {instancePath,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.m === undefined){const err2 = {instancePath,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "m"},message:"must have required property '"+"m"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}for(const key0 in data){if(!(((key0 === "v") || (key0 === "s")) || (key0 === "m"))){const err3 = {instancePath,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.v !== undefined){let data0 = data.v;if(!((typeof data0 == "number") && (isFinite(data0)))){const err4 = {instancePath:instancePath+"/v",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/v/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(1 !== data0){const err5 = {instancePath:instancePath+"/v",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/v/const",keyword:"const",params:{allowedValue: 1},message:"must be equal to constant"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.s !== undefined){let data1 = data.s;if(!((typeof data1 == "number") && (isFinite(data1)))){const err6 = {instancePath:instancePath+"/s",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.m !== undefined){let data2 = data.m;if(Array.isArray(data2)){const len0 = data2.length;for(let i0=0; i0<len0; i0++){let data3 = data2[i0];if(data3 && typeof data3 == "object" && !Array.isArray(data3)){if(data3.m === undefined){const err7 = {instancePath:instancePath+"/m/" + i0,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/required",keyword:"required",params:{missingProperty: "m"},message:"must have required property '"+"m"+"'"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}for(const key1 in data3){if(!((key1 === "m") || (key1 === "s"))){const err8 = {instancePath:instancePath+"/m/" + i0,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data3.m !== undefined){let data4 = data3.m;if(data4 && typeof data4 == "object" && !Array.isArray(data4)){if(data4.s === undefined){const err9 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/m/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}if(data4.us === undefined){const err10 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/m/required",keyword:"required",params:{missingProperty: "us"},message:"must have required property '"+"us"+"'"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}for(const key2 in data4){if(!((key2 === "s") || (key2 === "us"))){const err11 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/m/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key2},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data4.s !== undefined){let data5 = data4.s;if(!((typeof data5 == "number") && (isFinite(data5)))){const err12 = {instancePath:instancePath+"/m/" + i0+"/m/s",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/m/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data4.us !== undefined){let data6 = data4.us;if(!((typeof data6 == "number") && (isFinite(data6)))){const err13 = {instancePath:instancePath+"/m/" + i0+"/m/us",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/m/properties/us/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}}else {const err14 = {instancePath:instancePath+"/m/" + i0+"/m",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/m/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}if(data3.s !== undefined){let data7 = data3.s;if(!((typeof data7 == "number") && (isFinite(data7)))){const err15 = {instancePath:instancePath+"/m/" + i0+"/s",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}}}else {const err16 = {instancePath:instancePath+"/m/" + i0,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/items/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err16];}else {vErrors.push(err16);}errors++;}}}else {const err17 = {instancePath:instancePath+"/m",schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/properties/m/type",keyword:"type",params:{type: "array"},message:"must be array"};if(vErrors === null){vErrors = [err17];}else {vErrors.push(err17);}errors++;}}}else {const err18 = {instancePath,schemaPath:"#/definitions/aggregatemetadatav1JsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err18];}else {vErrors.push(err18);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/datamessageJsonSchema","definitions":{"datamessageJsonSchema":{"type":"object","properties":{"payload":{"type":"string"},"account":{"type":"string"},"device":{"type":"string"},"component":{"type":"string"},"timestamp":{"type":"number"}},"required":["payload","account","device","component","timestamp"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"payload":{"type":"string"},"account":{"type":"string"},"device":{"type":"string"},"component":{"type":"string"},"timestamp":{"type":"number"}},"required":["payload","account","device","component","timestamp"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.payload === undefined){const err0 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/required",keyword:"required",params:{missingProperty: "payload"},message:"must have required property '"+"payload"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.account === undefined){const err1 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/required",keyword:"required",params:{missingProperty: "account"},message:"must have required property '"+"account"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.device === undefined){const err2 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/required",keyword:"required",params:{missingProperty: "device"},message:"must have required property '"+"device"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.component === undefined){const err3 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/required",keyword:"required",params:{missingProperty: "component"},message:"must have required property '"+"component"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.timestamp === undefined){const err4 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/required",keyword:"required",params:{missingProperty: "timestamp"},message:"must have required property '"+"timestamp"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}for(const key0 in data){if(!(((((key0 === "payload") || (key0 === "account")) || (key0 === "device")) || (key0 === "component")) || (key0 === "timestamp"))){const err5 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data.payload !== undefined){if(typeof data.payload !== "string"){const err6 = {instancePath:instancePath+"/payload",schemaPath:"#/definitions/datamessageJsonSchema/properties/payload/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}if(data.account !== undefined){if(typeof data.account !== "string"){const err7 = {instancePath:instancePath+"/account",schemaPath:"#/definitions/datamessageJsonSchema/properties/account/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.device !== undefined){if(typeof data.device !== "string"){const err8 = {instancePath:instancePath+"/device",schemaPath:"#/definitions/datamessageJsonSchema/properties/device/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}if(data.component !== undefined){if(typeof data.component !== "string"){const err9 = {instancePath:instancePath+"/component",schemaPath:"#/definitions/datamessageJsonSchema/properties/component/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}}if(data.timestamp !== undefined){let data4 = data.timestamp;if(!((typeof data4 == "number") && (isFinite(data4)))){const err10 = {instancePath:instancePath+"/timestamp",schemaPath:"#/definitions/datamessageJsonSchema/properties/timestamp/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}}else {const err11 = {instancePath,schemaPath:"#/definitions/datamessageJsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/devicereadingmetadatav1JsonSchema","definitions":{"devicereadingmetadatav1JsonSchema":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.s === undefined){const err0 = {instancePath,schemaPath:"#/definitions/devicereadingmetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.us === undefined){const err1 = {instancePath,schemaPath:"#/definitions/devicereadingmetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "us"},message:"must have required property '"+"us"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "s") || (key0 === "us"))){const err2 = {instancePath,schemaPath:"#/definitions/devicereadingmetadatav1JsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.s !== undefined){let data0 = data.s;if(!((typeof data0 == "number") && (isFinite(data0)))){const err3 = {instancePath:instancePath+"/s",schemaPath:"#/definitions/devicereadingmetadatav1JsonSchema/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.us !== undefined){let data1 = data.us;if(!((typeof data1 == "number") && (isFinite(data1)))){const err4 = {instancePath:instancePath+"/us",schemaPath:"#/definitions/devicereadingmetadatav1JsonSchema/properties/us/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {instancePath,schemaPath:"#/definitions/devicereadingmetadatav1JsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/devicereadingv1JsonSchema","definitions":{"devicereadingv1JsonSchema":{"type":"object","properties":{"m":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false},"s":{"type":"number"}},"required":["m"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"m":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false},"s":{"type":"number"}},"required":["m"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.m === undefined){const err0 = {instancePath,schemaPath:"#/definitions/devicereadingv1JsonSchema/required",keyword:"required",params:{missingProperty: "m"},message:"must have required property '"+"m"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}for(const key0 in data){if(!((key0 === "m") || (key0 === "s"))){const err1 = {instancePath,schemaPath:"#/definitions/devicereadingv1JsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}}if(data.m !== undefined){let data0 = data.m;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){if(data0.s === undefined){const err2 = {instancePath:instancePath+"/m",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/m/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data0.us === undefined){const err3 = {instancePath:instancePath+"/m",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/m/required",keyword:"required",params:{missingProperty: "us"},message:"must have required property '"+"us"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}for(const key1 in data0){if(!((key1 === "s") || (key1 === "us"))){const err4 = {instancePath:instancePath+"/m",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/m/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key1},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}if(data0.s !== undefined){let data1 = data0.s;if(!((typeof data1 == "number") && (isFinite(data1)))){const err5 = {instancePath:instancePath+"/m/s",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/m/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}}if(data0.us !== undefined){let data2 = data0.us;if(!((typeof data2 == "number") && (isFinite(data2)))){const err6 = {instancePath:instancePath+"/m/us",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/m/properties/us/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}}}else {const err7 = {instancePath:instancePath+"/m",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/m/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}}if(data.s !== undefined){let data3 = data.s;if(!((typeof data3 == "number") && (isFinite(data3)))){const err8 = {instancePath:instancePath+"/s",schemaPath:"#/definitions/devicereadingv1JsonSchema/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}}}else {const err9 = {instancePath,schemaPath:"#/definitions/devicereadingv1JsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/readingmetadatav1JsonSchema","definitions":{"readingmetadatav1JsonSchema":{"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"s":{"type":"number"},"us":{"type":"number"}},"required":["s","us"],"additionalProperties":false};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.s === undefined){const err0 = {instancePath,schemaPath:"#/definitions/readingmetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.us === undefined){const err1 = {instancePath,schemaPath:"#/definitions/readingmetadatav1JsonSchema/required",keyword:"required",params:{missingProperty: "us"},message:"must have required property '"+"us"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}for(const key0 in data){if(!((key0 === "s") || (key0 === "us"))){const err2 = {instancePath,schemaPath:"#/definitions/readingmetadatav1JsonSchema/additionalProperties",keyword:"additionalProperties",params:{additionalProperty: key0},message:"must NOT have additional properties"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}}if(data.s !== undefined){let data0 = data.s;if(!((typeof data0 == "number") && (isFinite(data0)))){const err3 = {instancePath:instancePath+"/s",schemaPath:"#/definitions/readingmetadatav1JsonSchema/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}}if(data.us !== undefined){let data1 = data.us;if(!((typeof data1 == "number") && (isFinite(data1)))){const err4 = {instancePath:instancePath+"/us",schemaPath:"#/definitions/readingmetadatav1JsonSchema/properties/us/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}}}else {const err5 = {instancePath,schemaPath:"#/definitions/readingmetadatav1JsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1 @@
1
+ "use strict";export const validate = validate10;export default validate10;const schema27 = {"$ref":"#/definitions/readingv1JsonSchema","definitions":{"readingv1JsonSchema":{"type":"object","properties":{"data":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{},"additionalProperties":true}]},"component":{"type":"string"},"s":{"type":"number"},"us":{"type":"number"},"type":{"type":"string"},"id":{"type":"string"}},"required":["data","component","s","type","id"],"additionalProperties":true}},"$schema":"http://json-schema.org/draft-07/schema#"};const schema28 = {"type":"object","properties":{"data":{"anyOf":[{"type":"string"},{"type":"number"},{"type":"boolean"},{"type":"object","properties":{},"additionalProperties":true}]},"component":{"type":"string"},"s":{"type":"number"},"us":{"type":"number"},"type":{"type":"string"},"id":{"type":"string"}},"required":["data","component","s","type","id"],"additionalProperties":true};function validate10(data, {instancePath="", parentData, parentDataProperty, rootData=data}={}){let vErrors = null;let errors = 0;if(data && typeof data == "object" && !Array.isArray(data)){if(data.data === undefined){const err0 = {instancePath,schemaPath:"#/definitions/readingv1JsonSchema/required",keyword:"required",params:{missingProperty: "data"},message:"must have required property '"+"data"+"'"};if(vErrors === null){vErrors = [err0];}else {vErrors.push(err0);}errors++;}if(data.component === undefined){const err1 = {instancePath,schemaPath:"#/definitions/readingv1JsonSchema/required",keyword:"required",params:{missingProperty: "component"},message:"must have required property '"+"component"+"'"};if(vErrors === null){vErrors = [err1];}else {vErrors.push(err1);}errors++;}if(data.s === undefined){const err2 = {instancePath,schemaPath:"#/definitions/readingv1JsonSchema/required",keyword:"required",params:{missingProperty: "s"},message:"must have required property '"+"s"+"'"};if(vErrors === null){vErrors = [err2];}else {vErrors.push(err2);}errors++;}if(data.type === undefined){const err3 = {instancePath,schemaPath:"#/definitions/readingv1JsonSchema/required",keyword:"required",params:{missingProperty: "type"},message:"must have required property '"+"type"+"'"};if(vErrors === null){vErrors = [err3];}else {vErrors.push(err3);}errors++;}if(data.id === undefined){const err4 = {instancePath,schemaPath:"#/definitions/readingv1JsonSchema/required",keyword:"required",params:{missingProperty: "id"},message:"must have required property '"+"id"+"'"};if(vErrors === null){vErrors = [err4];}else {vErrors.push(err4);}errors++;}if(data.data !== undefined){let data0 = data.data;const _errs4 = errors;let valid2 = false;const _errs5 = errors;if(typeof data0 !== "string"){const err5 = {instancePath:instancePath+"/data",schemaPath:"#/definitions/readingv1JsonSchema/properties/data/anyOf/0/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err5];}else {vErrors.push(err5);}errors++;}var _valid0 = _errs5 === errors;valid2 = valid2 || _valid0;if(!valid2){const _errs7 = errors;if(!((typeof data0 == "number") && (isFinite(data0)))){const err6 = {instancePath:instancePath+"/data",schemaPath:"#/definitions/readingv1JsonSchema/properties/data/anyOf/1/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err6];}else {vErrors.push(err6);}errors++;}var _valid0 = _errs7 === errors;valid2 = valid2 || _valid0;if(!valid2){const _errs9 = errors;if(typeof data0 !== "boolean"){const err7 = {instancePath:instancePath+"/data",schemaPath:"#/definitions/readingv1JsonSchema/properties/data/anyOf/2/type",keyword:"type",params:{type: "boolean"},message:"must be boolean"};if(vErrors === null){vErrors = [err7];}else {vErrors.push(err7);}errors++;}var _valid0 = _errs9 === errors;valid2 = valid2 || _valid0;if(!valid2){const _errs11 = errors;if(data0 && typeof data0 == "object" && !Array.isArray(data0)){}else {const err8 = {instancePath:instancePath+"/data",schemaPath:"#/definitions/readingv1JsonSchema/properties/data/anyOf/3/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err8];}else {vErrors.push(err8);}errors++;}var _valid0 = _errs11 === errors;valid2 = valid2 || _valid0;}}}if(!valid2){const err9 = {instancePath:instancePath+"/data",schemaPath:"#/definitions/readingv1JsonSchema/properties/data/anyOf",keyword:"anyOf",params:{},message:"must match a schema in anyOf"};if(vErrors === null){vErrors = [err9];}else {vErrors.push(err9);}errors++;}else {errors = _errs4;if(vErrors !== null){if(_errs4){vErrors.length = _errs4;}else {vErrors = null;}}}}if(data.component !== undefined){if(typeof data.component !== "string"){const err10 = {instancePath:instancePath+"/component",schemaPath:"#/definitions/readingv1JsonSchema/properties/component/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err10];}else {vErrors.push(err10);}errors++;}}if(data.s !== undefined){let data2 = data.s;if(!((typeof data2 == "number") && (isFinite(data2)))){const err11 = {instancePath:instancePath+"/s",schemaPath:"#/definitions/readingv1JsonSchema/properties/s/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err11];}else {vErrors.push(err11);}errors++;}}if(data.us !== undefined){let data3 = data.us;if(!((typeof data3 == "number") && (isFinite(data3)))){const err12 = {instancePath:instancePath+"/us",schemaPath:"#/definitions/readingv1JsonSchema/properties/us/type",keyword:"type",params:{type: "number"},message:"must be number"};if(vErrors === null){vErrors = [err12];}else {vErrors.push(err12);}errors++;}}if(data.type !== undefined){if(typeof data.type !== "string"){const err13 = {instancePath:instancePath+"/type",schemaPath:"#/definitions/readingv1JsonSchema/properties/type/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err13];}else {vErrors.push(err13);}errors++;}}if(data.id !== undefined){if(typeof data.id !== "string"){const err14 = {instancePath:instancePath+"/id",schemaPath:"#/definitions/readingv1JsonSchema/properties/id/type",keyword:"type",params:{type: "string"},message:"must be string"};if(vErrors === null){vErrors = [err14];}else {vErrors.push(err14);}errors++;}}}else {const err15 = {instancePath,schemaPath:"#/definitions/readingv1JsonSchema/type",keyword:"type",params:{type: "object"},message:"must be object"};if(vErrors === null){vErrors = [err15];}else {vErrors.push(err15);}errors++;}validate10.errors = vErrors;return errors === 0;}
@@ -0,0 +1,50 @@
1
+ import {
2
+ generateExportIndex,
3
+ generateTypeSchemaFiles,
4
+ } from "@xube/kit-generator";
5
+
6
+ import {
7
+ AggregateMetadataSchema,
8
+ AggregateMetadataV1Schema,
9
+ AggregateMetadataSchemas,
10
+ } from "./decode/aggregate";
11
+ import {
12
+ DeviceReadingMetadataV1Schema,
13
+ DeviceReadingV1Schema,
14
+ ReadingV1Schema,
15
+ ReadingMetadataV1Schema,
16
+ } from "./decode/reading";
17
+ import { DataMessageSchema } from "./message/message";
18
+
19
+ const generatedFilePaths: string[] = [
20
+ ...generateTypeSchemaFiles(
21
+ "aggregateMetadata",
22
+ AggregateMetadataSchema,
23
+ __dirname
24
+ ),
25
+ ...generateTypeSchemaFiles(
26
+ "aggregateMetadataV1",
27
+ AggregateMetadataV1Schema,
28
+ __dirname
29
+ ),
30
+ ...generateTypeSchemaFiles(
31
+ "aggregateMetadataTypes",
32
+ AggregateMetadataSchemas,
33
+ __dirname
34
+ ),
35
+ ...generateTypeSchemaFiles(
36
+ "deviceReadingMetadataV1",
37
+ DeviceReadingMetadataV1Schema,
38
+ __dirname
39
+ ),
40
+ ...generateTypeSchemaFiles(
41
+ "deviceReadingV1",
42
+ DeviceReadingV1Schema,
43
+ __dirname
44
+ ),
45
+ ...generateTypeSchemaFiles("readingV1", ReadingV1Schema, __dirname),
46
+ ...generateTypeSchemaFiles("readingMetadataV1", ReadingMetadataV1Schema, __dirname),
47
+ ...generateTypeSchemaFiles("dataMessage", DataMessageSchema, __dirname)
48
+ ];
49
+
50
+ generateExportIndex(generatedFilePaths, __dirname);
@@ -0,0 +1,52 @@
1
+ import { z } from "zod";
2
+
3
+ export const GetDataByDateRangeRequestSchema = z.object({
4
+ devices: z.array(
5
+ z.object({
6
+ id: z.string(),
7
+ components: z.array(z.string()),
8
+ })
9
+ ),
10
+ dateRange: z.object({
11
+ start: z.string().datetime(),
12
+ end: z.string().datetime(),
13
+ }),
14
+ email: z.string().email(),
15
+ });
16
+ export type GetDataByDateRangeRequest = z.infer<
17
+ typeof GetDataByDateRangeRequestSchema
18
+ >;
19
+ export const isGetDataByDateRangeRequest = (
20
+ object: unknown
21
+ ): object is GetDataByDateRangeRequest => {
22
+ return GetDataByDateRangeRequestSchema.passthrough().safeParse(object)
23
+ .success;
24
+ };
25
+
26
+ export const ComponentDataEntryResponseSchema = z.object({
27
+ seconds: z.number(),
28
+ microseconds: z.number().optional(),
29
+ readings: z.object({}),
30
+ });
31
+ export type ComponentDataEntryResponse = z.infer<
32
+ typeof ComponentDataEntryResponseSchema
33
+ >;
34
+ export const DeviceDataEntryResponseSchema = z.object({
35
+ id: z.string(),
36
+ components: z.array(
37
+ z.object({
38
+ id: z.string(),
39
+ data: z.array(ComponentDataEntryResponseSchema),
40
+ })
41
+ ),
42
+ });
43
+ export type DeviceDataEntryResponse = z.infer<
44
+ typeof DeviceDataEntryResponseSchema
45
+ >;
46
+
47
+ export const GetDataByDateRangeResponseSchema = z.object({
48
+ devices: z.array(DeviceDataEntryResponseSchema),
49
+ });
50
+ export type GetDataByDateRangeResponse = z.infer<
51
+ typeof GetDataByDateRangeResponseSchema
52
+ >;
package/src/index.ts ADDED
@@ -0,0 +1,7 @@
1
+ export * from "./constants";
2
+ export * from "./decode/aggregate";
3
+ export * from "./decode/reading";
4
+ export * from "./get/get-data-by-date-range";
5
+ export * from "./generated/index";
6
+ export * from "./key/get"
7
+ export * from "./message/message";
package/src/key/get.ts ADDED
@@ -0,0 +1,11 @@
1
+ export const getDataPartitionKey = (id: string): string => {
2
+ return `DEVICE#${id}`;
3
+ };
4
+
5
+ export const getDataSortKey = (
6
+ componentId: string,
7
+ seconds: number | string,
8
+ microseconds?: number | string
9
+ ): string => {
10
+ return `${componentId}#${seconds}.${microseconds ?? 0}`;
11
+ };
@@ -0,0 +1,9 @@
1
+ import { z } from "zod";
2
+
3
+ export const DataMessageSchema = z.object({
4
+ payload: z.string(),
5
+ account: z.string(),
6
+ device: z.string(),
7
+ component: z.string(),
8
+ timestamp: z.number(),
9
+ });
package/tsconfig.json ADDED
@@ -0,0 +1,25 @@
1
+ {
2
+ "extends": "../kit-build/tsconfig.json",
3
+ "compilerOptions": {
4
+ "rootDir": "./src",
5
+ "outDir": "./dist"
6
+ },
7
+ "exclude": ["**/*.test.ts", "**/*.mock.ts", "dist"],
8
+ "references": [
9
+ {
10
+ "path": "../kit-generator"
11
+ },
12
+ {
13
+ "path": "../kit-constants"
14
+ },
15
+ {
16
+ "path": "../kit-log"
17
+ },
18
+ {
19
+ "path": "../kit-schema"
20
+ },
21
+ {
22
+ "path": "../kit-aws-schema"
23
+ },
24
+ ]
25
+ }