@xyo-network/payload-model 2.82.0 → 2.83.1

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 (100) 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 +24 -12
  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 +24 -12
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/browser/isPayload.d.cts +13 -5
  30. package/dist/browser/isPayload.d.cts.map +1 -1
  31. package/dist/browser/isPayload.d.mts +13 -5
  32. package/dist/browser/isPayload.d.mts.map +1 -1
  33. package/dist/browser/isPayload.d.ts +13 -5
  34. package/dist/browser/isPayload.d.ts.map +1 -1
  35. package/dist/browser/isPayloadOfSchemaType.d.cts +2 -3
  36. package/dist/browser/isPayloadOfSchemaType.d.cts.map +1 -1
  37. package/dist/browser/isPayloadOfSchemaType.d.mts +2 -3
  38. package/dist/browser/isPayloadOfSchemaType.d.mts.map +1 -1
  39. package/dist/browser/isPayloadOfSchemaType.d.ts +2 -3
  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 +27 -12
  66. package/dist/node/index.js.map +1 -1
  67. package/dist/node/index.mjs +24 -12
  68. package/dist/node/index.mjs.map +1 -1
  69. package/dist/node/isPayload.d.cts +13 -5
  70. package/dist/node/isPayload.d.cts.map +1 -1
  71. package/dist/node/isPayload.d.mts +13 -5
  72. package/dist/node/isPayload.d.mts.map +1 -1
  73. package/dist/node/isPayload.d.ts +13 -5
  74. package/dist/node/isPayload.d.ts.map +1 -1
  75. package/dist/node/isPayloadOfSchemaType.d.cts +2 -3
  76. package/dist/node/isPayloadOfSchemaType.d.cts.map +1 -1
  77. package/dist/node/isPayloadOfSchemaType.d.mts +2 -3
  78. package/dist/node/isPayloadOfSchemaType.d.mts.map +1 -1
  79. package/dist/node/isPayloadOfSchemaType.d.ts +2 -3
  80. package/dist/node/isPayloadOfSchemaType.d.ts.map +1 -1
  81. package/package.json +2 -2
  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 +9 -7
  87. package/src/isPayloadOfSchemaType.ts +3 -2
  88. package/dist/browser/EmptyPayload.d.cts +0 -2
  89. package/dist/browser/EmptyPayload.d.cts.map +0 -1
  90. package/dist/browser/EmptyPayload.d.mts +0 -2
  91. package/dist/browser/EmptyPayload.d.mts.map +0 -1
  92. package/dist/browser/EmptyPayload.d.ts +0 -2
  93. package/dist/browser/EmptyPayload.d.ts.map +0 -1
  94. package/dist/node/EmptyPayload.d.cts +0 -2
  95. package/dist/node/EmptyPayload.d.cts.map +0 -1
  96. package/dist/node/EmptyPayload.d.mts +0 -2
  97. package/dist/node/EmptyPayload.d.mts.map +0 -1
  98. package/dist/node/EmptyPayload.d.ts +0 -2
  99. package/dist/node/EmptyPayload.d.ts.map +0 -1
  100. package/src/EmptyPayload.ts +0 -2
@@ -1,8 +1,7 @@
1
- import { Payload } from './Payload';
2
1
  export declare const isPayloadOfSchemaType: <T extends {
3
2
  schema: string;
4
- }>(schema: string) => (x?: Payload | null) => x is T;
3
+ } & import("./Payload").PayloadFields>(schema: string) => (x?: unknown | null) => x is T;
5
4
  export declare const notPayloadOfSchemaType: <T extends {
6
5
  schema: string;
7
- }>(schema: string) => (x?: Payload | null) => x is T;
6
+ } & import("./Payload").PayloadFields>(schema: string) => (x?: unknown | null) => x is T;
8
7
  //# sourceMappingURL=isPayloadOfSchemaType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isPayloadOfSchemaType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,eAAO,MAAM,qBAAqB;;WAA+B,MAAM,UACzD,OAAO,GAAG,IAAI,WAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;WAA+B,MAAM,UAC1D,OAAO,GAAG,IAAI,WAC3B,CAAA"}
1
+ {"version":3,"file":"isPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isPayloadOfSchemaType.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;;+CAA+B,MAAM,UACzD,OAAO,GAAG,IAAI,WAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;+CAA+B,MAAM,UAC1D,OAAO,GAAG,IAAI,WAC3B,CAAA"}
@@ -1,8 +1,7 @@
1
- import { Payload } from './Payload';
2
1
  export declare const isPayloadOfSchemaType: <T extends {
3
2
  schema: string;
4
- }>(schema: string) => (x?: Payload | null) => x is T;
3
+ } & import("./Payload").PayloadFields>(schema: string) => (x?: unknown | null) => x is T;
5
4
  export declare const notPayloadOfSchemaType: <T extends {
6
5
  schema: string;
7
- }>(schema: string) => (x?: Payload | null) => x is T;
6
+ } & import("./Payload").PayloadFields>(schema: string) => (x?: unknown | null) => x is T;
8
7
  //# sourceMappingURL=isPayloadOfSchemaType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isPayloadOfSchemaType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,eAAO,MAAM,qBAAqB;;WAA+B,MAAM,UACzD,OAAO,GAAG,IAAI,WAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;WAA+B,MAAM,UAC1D,OAAO,GAAG,IAAI,WAC3B,CAAA"}
1
+ {"version":3,"file":"isPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isPayloadOfSchemaType.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;;+CAA+B,MAAM,UACzD,OAAO,GAAG,IAAI,WAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;+CAA+B,MAAM,UAC1D,OAAO,GAAG,IAAI,WAC3B,CAAA"}
@@ -1,8 +1,7 @@
1
- import { Payload } from './Payload';
2
1
  export declare const isPayloadOfSchemaType: <T extends {
3
2
  schema: string;
4
- }>(schema: string) => (x?: Payload | null) => x is T;
3
+ } & import("./Payload").PayloadFields>(schema: string) => (x?: unknown | null) => x is T;
5
4
  export declare const notPayloadOfSchemaType: <T extends {
6
5
  schema: string;
7
- }>(schema: string) => (x?: Payload | null) => x is T;
6
+ } & import("./Payload").PayloadFields>(schema: string) => (x?: unknown | null) => x is T;
8
7
  //# sourceMappingURL=isPayloadOfSchemaType.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"isPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isPayloadOfSchemaType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAEnC,eAAO,MAAM,qBAAqB;;WAA+B,MAAM,UACzD,OAAO,GAAG,IAAI,WAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;WAA+B,MAAM,UAC1D,OAAO,GAAG,IAAI,WAC3B,CAAA"}
1
+ {"version":3,"file":"isPayloadOfSchemaType.d.ts","sourceRoot":"","sources":["../../src/isPayloadOfSchemaType.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,qBAAqB;;+CAA+B,MAAM,UACzD,OAAO,GAAG,IAAI,WAC3B,CAAA;AAED,eAAO,MAAM,sBAAsB;;+CAA+B,MAAM,UAC1D,OAAO,GAAG,IAAI,WAC3B,CAAA"}
package/package.json CHANGED
@@ -10,7 +10,7 @@
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
12
  "dependencies": {
13
- "@xyo-network/object": "~2.82.0"
13
+ "@xyo-network/object": "~2.83.1"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@xylabs/ts-scripts-yarn3": "^3.2.10",
@@ -57,5 +57,5 @@
57
57
  },
58
58
  "sideEffects": false,
59
59
  "types": "dist/node/index.d.ts",
60
- "version": "2.82.0"
60
+ "version": "2.83.1"
61
61
  }
package/src/Payload.ts CHANGED
@@ -1,24 +1,15 @@
1
- import { EmptyPayload } from './EmptyPayload'
1
+ import { EmptyObject, JsonObject } from '@xyo-network/object'
2
2
 
3
- export type Schema = string
3
+ import { Schema, WithSchema } from './Schema'
4
4
 
5
- export type WithTimestamp<T extends EmptyPayload = EmptyPayload> = T & { timestamp: number }
6
-
7
- export type PayloadSchema = 'network.xyo.payload'
8
- export const PayloadSchema: PayloadSchema = 'network.xyo.payload'
9
-
10
- export type SchemaFields = {
11
- schema: Schema
5
+ /** Additional fields for a payload */
6
+ export interface PayloadFields extends EmptyObject {
7
+ $meta?: JsonObject
12
8
  }
13
9
 
14
- export type WithSchema<T extends EmptyPayload | void = void> = T extends EmptyPayload ? SchemaFields & T : SchemaFields
15
-
16
- // eslint-disable-next-line @typescript-eslint/ban-types
17
- export type PayloadFields = {}
18
-
19
- export type WithPayload<T extends EmptyPayload | void = void> = WithSchema<T extends EmptyPayload ? PayloadFields & T : PayloadFields>
10
+ export type WithPayload<T extends EmptyObject | void = void> = WithSchema<T extends EmptyObject ? PayloadFields & T : PayloadFields>
20
11
 
21
- export type Payload<T extends void | object | WithSchema = void, S extends Schema | void = void> = T extends WithSchema
12
+ export type Payload<T extends void | EmptyObject | WithSchema = void, S extends Schema | void = void> = T extends WithSchema
22
13
  ? S extends Schema
23
14
  ? /* T (w/Schema) & S provided */
24
15
  WithPayload<Omit<T, 'schema'> & { schema: S } & PayloadFields>
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
@@ -3,20 +3,22 @@ import { AsObjectFactory, isObject } from '@xyo-network/object'
3
3
 
4
4
  import { Payload } from './Payload'
5
5
 
6
- export const isAnyPayload = (obj: any): obj is Payload => {
7
- if (isObject(obj)) {
8
- return typeof obj.schema === 'string'
6
+ export const isAnyPayload = (value: unknown): value is Payload => {
7
+ if (isObject(value)) {
8
+ return typeof value.schema === 'string'
9
9
  }
10
10
  return false
11
11
  }
12
12
 
13
+ export const asAnyPayload = AsObjectFactory.create(isAnyPayload)
14
+
13
15
  export const isPayload =
14
16
  <T extends Payload>(schema: string[]) =>
15
- (obj: any): obj is T => {
16
- if (isAnyPayload(obj)) {
17
- return schema.includes(obj.schema)
17
+ (value: unknown): value is T => {
18
+ if (isAnyPayload(value)) {
19
+ return schema.includes(value.schema)
18
20
  }
19
21
  return false
20
22
  }
21
23
 
22
- export const asPayload = <T extends Payload>(schema: string[]) => AsObjectFactory.create((obj: any): obj is T => isPayload(schema)(obj))
24
+ export const asPayload = <T extends Payload>(schema: string[]) => AsObjectFactory.create((value: unknown): value is T => isPayload(schema)(value))
@@ -1,9 +1,10 @@
1
+ import { isAnyPayload } from './isPayload'
1
2
  import { Payload } from './Payload'
2
3
 
3
4
  export const isPayloadOfSchemaType = <T extends Payload>(schema: string) => {
4
- return (x?: Payload | null): x is T => x?.schema === schema
5
+ return (x?: unknown | null): x is T => isAnyPayload(x) && x?.schema === schema
5
6
  }
6
7
 
7
8
  export const notPayloadOfSchemaType = <T extends Payload>(schema: string) => {
8
- return (x?: Payload | null): x is T => x?.schema !== schema
9
+ return (x?: unknown | null): x is T => !isAnyPayload(x) || x?.schema !== schema
9
10
  }
@@ -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 = {}