@xube/kit-aws-data-schema 0.2.14 → 0.2.16
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.
package/dist/decode/reading.d.ts
CHANGED
|
@@ -36,6 +36,8 @@ export declare const isReadingMetadataV1: (item: unknown) => item is ReadingMeta
|
|
|
36
36
|
export declare const ReadingV2MetadataSchema: z.ZodObject<{
|
|
37
37
|
v: z.ZodLiteral<2>;
|
|
38
38
|
tm: z.ZodNumber;
|
|
39
|
+
s: z.ZodOptional<z.ZodNumber>;
|
|
40
|
+
f: z.ZodOptional<z.ZodNumber>;
|
|
39
41
|
bo: z.ZodOptional<z.ZodBoolean>;
|
|
40
42
|
so: z.ZodOptional<z.ZodBoolean>;
|
|
41
43
|
}, z.core.$strip>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/decode/reading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,uBAAuB,IAAoB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,+FAAyB,CAAC;AAE7D,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,eAAO,MAAM,yBAAyB,SAC9B,OAAO,KACZ,IAAI,IAAI,uBAC4C,CAAC;AAExD,eAAO,MAAM,qBAAqB;;;;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,iBAAiB,SAAU,OAAO,KAAG,IAAI,IAAI,eACX,CAAC;AAEhD,eAAO,MAAM,oBAAoB;;;;;;iBAAwB,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB,SACzB,OAAO,KACZ,IAAI,IAAI,kBAAkE,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;iBAAgC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,eAAO,MAAM,mBAAmB,SAAU,OAAO,KAAG,IAAI,IAAI,iBACX,CAAC;AAElD,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"reading.d.ts","sourceRoot":"","sources":["../../src/decode/reading.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,iBAAiB,IAAI,CAAC;AAEnC,eAAO,MAAM,uBAAuB,IAAoB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,+FAAyB,CAAC;AAE7D,eAAO,MAAM,6BAA6B;;;iBAGxC,CAAC;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAC3C,OAAO,6BAA6B,CACrC,CAAC;AACF,eAAO,MAAM,yBAAyB,SAC9B,OAAO,KACZ,IAAI,IAAI,uBAC4C,CAAC;AAExD,eAAO,MAAM,qBAAqB;;;;;;iBAGhC,CAAC;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACpE,eAAO,MAAM,iBAAiB,SAAU,OAAO,KAAG,IAAI,IAAI,eACX,CAAC;AAEhD,eAAO,MAAM,oBAAoB;;;;;;iBAAwB,CAAC;AAC1D,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACtE,eAAO,MAAM,oBAAoB,SACzB,OAAO,KACZ,IAAI,IAAI,kBAAkE,CAAC;AAE9E,eAAO,MAAM,uBAAuB;;;iBAAgC,CAAC;AACrE,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,eAAO,MAAM,mBAAmB,SAAU,OAAO,KAAG,IAAI,IAAI,iBACX,CAAC;AAElD,eAAO,MAAM,uBAAuB;;;;;;;iBAWhC,CAAC;AACL,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,eAAO,MAAM,mBAAmB,SACxB,OAAO,KACZ,IAAI,IAAI,iBACsC,CAAC;AAElD,eAAO,MAAM,aAAa;;;;;;;;;;iBAYxB,CAAC;AACH,MAAM,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AACpD,eAAO,MAAM,SAAS,SAAU,OAAO,KAAG,IAAI,IAAI,OACX,CAAC;AAExC,eAAO,MAAM,WAAW,SAChB,OAAO,KACZ,IAAI,IAAI,OAAO,GAAG;IAAE,CAAC,EAAE,OAAO,iBAAiB,CAAA;CAGjD,CAAC;AAEF,eAAO,MAAM,WAAW,SAChB,OAAO,KACZ,IAAI,IAAI,OAAO,GAAG;IAAE,CAAC,EAAE,OAAO,iBAAiB,CAAA;CAGjD,CAAC;AAEF,eAAO,MAAM,eAAe;;;;;;;;;;iBAAgB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC;AAChC,eAAO,MAAM,eAAe;;;;;;;;;;iBAAgB,CAAC;AAC7C,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC"}
|
package/dist/decode/reading.js
CHANGED
|
@@ -26,11 +26,17 @@ exports.isDeviceReadingTypes = isDeviceReadingTypes;
|
|
|
26
26
|
exports.ReadingMetadataV1Schema = exports.DeviceReadingMetadataV1Schema;
|
|
27
27
|
const isReadingMetadataV1 = (item) => exports.ReadingMetadataV1Schema.safeParse(item).success;
|
|
28
28
|
exports.isReadingMetadataV1 = isReadingMetadataV1;
|
|
29
|
-
exports.ReadingV2MetadataSchema = zod_1.z
|
|
29
|
+
exports.ReadingV2MetadataSchema = zod_1.z
|
|
30
|
+
.object({
|
|
30
31
|
[constants_1.READING_VERSION_IDENTIFIER]: zod_1.z.literal(exports.READING_VERSION_2),
|
|
31
32
|
tm: zod_1.z.number().refine((tm) => tm > 0, { message: "tm must be positive" }),
|
|
33
|
+
s: zod_1.z.number().positive().optional(),
|
|
34
|
+
f: zod_1.z.number().positive().optional(),
|
|
32
35
|
bo: zod_1.z.boolean().optional(),
|
|
33
36
|
so: zod_1.z.boolean().optional(),
|
|
37
|
+
})
|
|
38
|
+
.refine((d) => (d.s === undefined) === (d.f === undefined), {
|
|
39
|
+
message: "s and f must both be present or both absent",
|
|
34
40
|
});
|
|
35
41
|
const isReadingV2Metadata = (item) => exports.ReadingV2MetadataSchema.safeParse(item).success;
|
|
36
42
|
exports.isReadingV2Metadata = isReadingV2Metadata;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xube/kit-aws-data-schema",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -18,14 +18,14 @@
|
|
|
18
18
|
},
|
|
19
19
|
"homepage": "https://github.com/XubeLtd/dev-kit#readme",
|
|
20
20
|
"devDependencies": {
|
|
21
|
-
"@xube/kit-build": "^0.2.
|
|
21
|
+
"@xube/kit-build": "^0.2.16"
|
|
22
22
|
},
|
|
23
23
|
"dependencies": {
|
|
24
|
-
"@xube/kit-aws-schema": "^0.2.
|
|
25
|
-
"@xube/kit-constants": "^0.2.
|
|
26
|
-
"@xube/kit-generator": "^0.2.
|
|
27
|
-
"@xube/kit-log": "^0.2.
|
|
28
|
-
"@xube/kit-schema": "^0.2.
|
|
24
|
+
"@xube/kit-aws-schema": "^0.2.16",
|
|
25
|
+
"@xube/kit-constants": "^0.2.16",
|
|
26
|
+
"@xube/kit-generator": "^0.2.16",
|
|
27
|
+
"@xube/kit-log": "^0.2.16",
|
|
28
|
+
"@xube/kit-schema": "^0.2.16",
|
|
29
29
|
"zod": "^4.4.3",
|
|
30
30
|
"zod-validation-error": "^5.0.0"
|
|
31
31
|
}
|
|
@@ -222,6 +222,36 @@ describe("ReadingV2MetadataSchema (wire-format header)", () => {
|
|
|
222
222
|
expect(isReadingV2Metadata({ ...minimal, bo: true, so: false })).toBe(true);
|
|
223
223
|
expect(isReadingV2Metadata({ v: 1, tm: 1 })).toBe(false);
|
|
224
224
|
});
|
|
225
|
+
|
|
226
|
+
it("accepts v2 metadata with both s and f", () => {
|
|
227
|
+
expect(
|
|
228
|
+
ReadingV2MetadataSchema.safeParse({ ...minimal, s: 4, f: 1000 }).success,
|
|
229
|
+
).toBe(true);
|
|
230
|
+
});
|
|
231
|
+
|
|
232
|
+
it("rejects v2 metadata with only s", () => {
|
|
233
|
+
expect(
|
|
234
|
+
ReadingV2MetadataSchema.safeParse({ ...minimal, s: 4 }).success,
|
|
235
|
+
).toBe(false);
|
|
236
|
+
});
|
|
237
|
+
|
|
238
|
+
it("rejects v2 metadata with only f", () => {
|
|
239
|
+
expect(
|
|
240
|
+
ReadingV2MetadataSchema.safeParse({ ...minimal, f: 1000 }).success,
|
|
241
|
+
).toBe(false);
|
|
242
|
+
});
|
|
243
|
+
|
|
244
|
+
it("rejects v2 metadata with non-positive s or f", () => {
|
|
245
|
+
expect(
|
|
246
|
+
ReadingV2MetadataSchema.safeParse({ ...minimal, s: 0, f: 1000 }).success,
|
|
247
|
+
).toBe(false);
|
|
248
|
+
expect(
|
|
249
|
+
ReadingV2MetadataSchema.safeParse({ ...minimal, s: 4, f: 0 }).success,
|
|
250
|
+
).toBe(false);
|
|
251
|
+
expect(
|
|
252
|
+
ReadingV2MetadataSchema.safeParse({ ...minimal, s: -4, f: 1000 }).success,
|
|
253
|
+
).toBe(false);
|
|
254
|
+
});
|
|
225
255
|
});
|
|
226
256
|
|
|
227
257
|
describe("DEFAULT_READING_VERSION", () => {
|
package/src/decode/reading.ts
CHANGED
|
@@ -40,12 +40,18 @@ export type ReadingMetadataV1 = z.infer<typeof ReadingMetadataV1Schema>;
|
|
|
40
40
|
export const isReadingMetadataV1 = (item: unknown): item is ReadingMetadataV1 =>
|
|
41
41
|
ReadingMetadataV1Schema.safeParse(item).success;
|
|
42
42
|
|
|
43
|
-
export const ReadingV2MetadataSchema = z
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
43
|
+
export const ReadingV2MetadataSchema = z
|
|
44
|
+
.object({
|
|
45
|
+
[READING_VERSION_IDENTIFIER]: z.literal(READING_VERSION_2),
|
|
46
|
+
tm: z.number().refine((tm) => tm > 0, { message: "tm must be positive" }),
|
|
47
|
+
s: z.number().positive().optional(),
|
|
48
|
+
f: z.number().positive().optional(),
|
|
49
|
+
bo: z.boolean().optional(),
|
|
50
|
+
so: z.boolean().optional(),
|
|
51
|
+
})
|
|
52
|
+
.refine((d) => (d.s === undefined) === (d.f === undefined), {
|
|
53
|
+
message: "s and f must both be present or both absent",
|
|
54
|
+
});
|
|
49
55
|
export type ReadingV2Metadata = z.infer<typeof ReadingV2MetadataSchema>;
|
|
50
56
|
export const isReadingV2Metadata = (
|
|
51
57
|
item: unknown,
|