@xyo-network/payload-model 2.82.0-rc.1 → 2.83.0

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 (99) hide show
  1. package/dist/browser/Payload.d.cts +8 -14
  2. package/dist/browser/Payload.d.cts.map +1 -1
  3. package/dist/browser/Payload.d.mts +8 -14
  4. package/dist/browser/Payload.d.mts.map +1 -1
  5. package/dist/browser/Payload.d.ts +8 -14
  6. package/dist/browser/Payload.d.ts.map +1 -1
  7. package/dist/browser/Schema.d.cts +17 -0
  8. package/dist/browser/Schema.d.cts.map +1 -0
  9. package/dist/browser/Schema.d.mts +17 -0
  10. package/dist/browser/Schema.d.mts.map +1 -0
  11. package/dist/browser/Schema.d.ts +17 -0
  12. package/dist/browser/Schema.d.ts.map +1 -0
  13. package/dist/browser/Timestamp.d.cts +8 -0
  14. package/dist/browser/Timestamp.d.cts.map +1 -0
  15. package/dist/browser/Timestamp.d.mts +8 -0
  16. package/dist/browser/Timestamp.d.mts.map +1 -0
  17. package/dist/browser/Timestamp.d.ts +8 -0
  18. package/dist/browser/Timestamp.d.ts.map +1 -0
  19. package/dist/browser/index.cjs +17 -7
  20. package/dist/browser/index.cjs.map +1 -1
  21. package/dist/browser/index.d.cts +1 -1
  22. package/dist/browser/index.d.cts.map +1 -1
  23. package/dist/browser/index.d.mts +1 -1
  24. package/dist/browser/index.d.mts.map +1 -1
  25. package/dist/browser/index.d.ts +1 -1
  26. package/dist/browser/index.d.ts.map +1 -1
  27. package/dist/browser/index.js +17 -7
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/browser/isPayload.d.cts +5 -5
  30. package/dist/browser/isPayload.d.cts.map +1 -1
  31. package/dist/browser/isPayload.d.mts +5 -5
  32. package/dist/browser/isPayload.d.mts.map +1 -1
  33. package/dist/browser/isPayload.d.ts +5 -5
  34. package/dist/browser/isPayload.d.ts.map +1 -1
  35. package/dist/browser/isPayloadOfSchemaType.d.cts +2 -2
  36. package/dist/browser/isPayloadOfSchemaType.d.cts.map +1 -1
  37. package/dist/browser/isPayloadOfSchemaType.d.mts +2 -2
  38. package/dist/browser/isPayloadOfSchemaType.d.mts.map +1 -1
  39. package/dist/browser/isPayloadOfSchemaType.d.ts +2 -2
  40. package/dist/browser/isPayloadOfSchemaType.d.ts.map +1 -1
  41. package/dist/node/Payload.d.cts +8 -14
  42. package/dist/node/Payload.d.cts.map +1 -1
  43. package/dist/node/Payload.d.mts +8 -14
  44. package/dist/node/Payload.d.mts.map +1 -1
  45. package/dist/node/Payload.d.ts +8 -14
  46. package/dist/node/Payload.d.ts.map +1 -1
  47. package/dist/node/Schema.d.cts +17 -0
  48. package/dist/node/Schema.d.cts.map +1 -0
  49. package/dist/node/Schema.d.mts +17 -0
  50. package/dist/node/Schema.d.mts.map +1 -0
  51. package/dist/node/Schema.d.ts +17 -0
  52. package/dist/node/Schema.d.ts.map +1 -0
  53. package/dist/node/Timestamp.d.cts +8 -0
  54. package/dist/node/Timestamp.d.cts.map +1 -0
  55. package/dist/node/Timestamp.d.mts +8 -0
  56. package/dist/node/Timestamp.d.mts.map +1 -0
  57. package/dist/node/Timestamp.d.ts +8 -0
  58. package/dist/node/Timestamp.d.ts.map +1 -0
  59. package/dist/node/index.d.cts +1 -1
  60. package/dist/node/index.d.cts.map +1 -1
  61. package/dist/node/index.d.mts +1 -1
  62. package/dist/node/index.d.mts.map +1 -1
  63. package/dist/node/index.d.ts +1 -1
  64. package/dist/node/index.d.ts.map +1 -1
  65. package/dist/node/index.js +19 -7
  66. package/dist/node/index.js.map +1 -1
  67. package/dist/node/index.mjs +17 -7
  68. package/dist/node/index.mjs.map +1 -1
  69. package/dist/node/isPayload.d.cts +5 -5
  70. package/dist/node/isPayload.d.cts.map +1 -1
  71. package/dist/node/isPayload.d.mts +5 -5
  72. package/dist/node/isPayload.d.mts.map +1 -1
  73. package/dist/node/isPayload.d.ts +5 -5
  74. package/dist/node/isPayload.d.ts.map +1 -1
  75. package/dist/node/isPayloadOfSchemaType.d.cts +2 -2
  76. package/dist/node/isPayloadOfSchemaType.d.cts.map +1 -1
  77. package/dist/node/isPayloadOfSchemaType.d.mts +2 -2
  78. package/dist/node/isPayloadOfSchemaType.d.mts.map +1 -1
  79. package/dist/node/isPayloadOfSchemaType.d.ts +2 -2
  80. package/dist/node/isPayloadOfSchemaType.d.ts.map +1 -1
  81. package/package.json +2 -3
  82. package/src/Payload.ts +7 -16
  83. package/src/Schema.ts +24 -0
  84. package/src/Timestamp.ts +9 -0
  85. package/src/index.ts +1 -1
  86. package/src/isPayload.ts +4 -4
  87. package/dist/browser/EmptyPayload.d.cts +0 -2
  88. package/dist/browser/EmptyPayload.d.cts.map +0 -1
  89. package/dist/browser/EmptyPayload.d.mts +0 -2
  90. package/dist/browser/EmptyPayload.d.mts.map +0 -1
  91. package/dist/browser/EmptyPayload.d.ts +0 -2
  92. package/dist/browser/EmptyPayload.d.ts.map +0 -1
  93. package/dist/node/EmptyPayload.d.cts +0 -2
  94. package/dist/node/EmptyPayload.d.cts.map +0 -1
  95. package/dist/node/EmptyPayload.d.mts +0 -2
  96. package/dist/node/EmptyPayload.d.mts.map +0 -1
  97. package/dist/node/EmptyPayload.d.ts +0 -2
  98. package/dist/node/EmptyPayload.d.ts.map +0 -1
  99. package/src/EmptyPayload.ts +0 -2
package/src/Schema.ts ADDED
@@ -0,0 +1,24 @@
1
+ import { AsTypeFactory, EmptyObject } from '@xyo-network/object'
2
+
3
+ /** Schema type in Javascript is a string */
4
+ export type Schema = string
5
+
6
+ export const PayloadSchema = 'network.xyo.payload'
7
+ export type PayloadSchema = typeof PayloadSchema
8
+
9
+ export const isSchema = (value: unknown): value is Schema => {
10
+ if (typeof value === 'string') {
11
+ return true
12
+ }
13
+ return false
14
+ }
15
+
16
+ export const asSchema = AsTypeFactory.create<Schema>(isSchema)
17
+
18
+ /** Schema fields for a Payload */
19
+ export interface SchemaFields extends EmptyObject {
20
+ schema: Schema
21
+ }
22
+
23
+ /** Add the Schema Fields to an object */
24
+ export type WithSchema<T extends EmptyObject | void = void> = T extends EmptyObject ? SchemaFields & T : SchemaFields
@@ -0,0 +1,9 @@
1
+ import { AnyObject } from '@xyo-network/object'
2
+
3
+ /** Object with a timestamp */
4
+ export interface Timestamp {
5
+ timestamp: number
6
+ }
7
+
8
+ /** Add a timestamp field to any object */
9
+ export type WithTimestamp<T extends AnyObject = AnyObject> = T & Timestamp
package/src/index.ts CHANGED
@@ -1,4 +1,3 @@
1
- export * from './EmptyPayload'
2
1
  export * from './Error'
3
2
  export * from './isPayload'
4
3
  export * from './isPayloadOfSchemaType'
@@ -6,3 +5,4 @@ export * from './Payload'
6
5
  export * from './PayloadFindFilter'
7
6
  export * from './PayloadSet'
8
7
  export * from './Query'
8
+ export * from './Schema'
package/src/isPayload.ts CHANGED
@@ -12,11 +12,11 @@ export const isAnyPayload = (obj: any): obj is Payload => {
12
12
 
13
13
  export const isPayload =
14
14
  <T extends Payload>(schema: string[]) =>
15
- (obj: any): obj is T => {
16
- if (isAnyPayload(obj)) {
17
- return schema.includes(obj.schema)
15
+ (value: unknown): value is T => {
16
+ if (isAnyPayload(value)) {
17
+ return schema.includes(value.schema)
18
18
  }
19
19
  return false
20
20
  }
21
21
 
22
- export const asPayload = <T extends Payload>(schema: string[]) => AsObjectFactory.create((obj: any): obj is T => isPayload(schema)(obj))
22
+ export const asPayload = <T extends Payload>(schema: string[]) => AsObjectFactory.create((value: unknown): value is T => isPayload(schema)(value))
@@ -1,2 +0,0 @@
1
- export type EmptyPayload = {};
2
- //# sourceMappingURL=EmptyPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyPayload.d.ts","sourceRoot":"","sources":["../../src/EmptyPayload.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export type EmptyPayload = {};
2
- //# sourceMappingURL=EmptyPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyPayload.d.ts","sourceRoot":"","sources":["../../src/EmptyPayload.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export type EmptyPayload = {};
2
- //# sourceMappingURL=EmptyPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyPayload.d.ts","sourceRoot":"","sources":["../../src/EmptyPayload.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export type EmptyPayload = {};
2
- //# sourceMappingURL=EmptyPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyPayload.d.ts","sourceRoot":"","sources":["../../src/EmptyPayload.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export type EmptyPayload = {};
2
- //# sourceMappingURL=EmptyPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyPayload.d.ts","sourceRoot":"","sources":["../../src/EmptyPayload.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- export type EmptyPayload = {};
2
- //# sourceMappingURL=EmptyPayload.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EmptyPayload.d.ts","sourceRoot":"","sources":["../../src/EmptyPayload.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,YAAY,GAAG,EAAE,CAAA"}
@@ -1,2 +0,0 @@
1
- // eslint-disable-next-line @typescript-eslint/ban-types
2
- export type EmptyPayload = {}