@xyo-network/payload-model 2.73.3 → 2.74.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 (56) hide show
  1. package/dist/EmptyPayload.d.mts +2 -0
  2. package/dist/EmptyPayload.d.mts.map +1 -0
  3. package/dist/EmptyPayload.d.ts +2 -0
  4. package/dist/EmptyPayload.d.ts.map +1 -0
  5. package/dist/Error.d.mts +11 -0
  6. package/dist/Error.d.mts.map +1 -0
  7. package/dist/Error.d.ts +11 -0
  8. package/dist/Error.d.ts.map +1 -0
  9. package/dist/Payload.d.mts +25 -0
  10. package/dist/Payload.d.mts.map +1 -0
  11. package/dist/Payload.d.ts +25 -0
  12. package/dist/Payload.d.ts.map +1 -0
  13. package/dist/PayloadFindFilter.d.mts +16 -0
  14. package/dist/PayloadFindFilter.d.mts.map +1 -0
  15. package/dist/PayloadFindFilter.d.ts +16 -0
  16. package/dist/PayloadFindFilter.d.ts.map +1 -0
  17. package/dist/PayloadSet/PayloadSetPayload.d.mts +8 -0
  18. package/dist/PayloadSet/PayloadSetPayload.d.mts.map +1 -0
  19. package/dist/PayloadSet/PayloadSetPayload.d.ts +8 -0
  20. package/dist/PayloadSet/PayloadSetPayload.d.ts.map +1 -0
  21. package/dist/PayloadSet/PayloadSetSchema.d.mts +3 -0
  22. package/dist/PayloadSet/PayloadSetSchema.d.mts.map +1 -0
  23. package/dist/PayloadSet/PayloadSetSchema.d.ts +3 -0
  24. package/dist/PayloadSet/PayloadSetSchema.d.ts.map +1 -0
  25. package/dist/PayloadSet/index.d.mts +3 -0
  26. package/dist/PayloadSet/index.d.mts.map +1 -0
  27. package/dist/PayloadSet/index.d.ts +3 -0
  28. package/dist/PayloadSet/index.d.ts.map +1 -0
  29. package/dist/Query.d.mts +13 -0
  30. package/dist/Query.d.mts.map +1 -0
  31. package/dist/Query.d.ts +13 -0
  32. package/dist/Query.d.ts.map +1 -0
  33. package/dist/index.d.mts +9 -78
  34. package/dist/index.d.mts.map +1 -0
  35. package/dist/index.d.ts +9 -78
  36. package/dist/index.d.ts.map +1 -0
  37. package/dist/index.js +15 -8
  38. package/dist/index.js.map +1 -1
  39. package/dist/index.mjs +13 -7
  40. package/dist/index.mjs.map +1 -1
  41. package/dist/isPayload.d.mts +13 -0
  42. package/dist/isPayload.d.mts.map +1 -0
  43. package/dist/isPayload.d.ts +13 -0
  44. package/dist/isPayload.d.ts.map +1 -0
  45. package/dist/isPayloadOfSchemaType.d.mts +5 -0
  46. package/dist/isPayloadOfSchemaType.d.mts.map +1 -0
  47. package/dist/isPayloadOfSchemaType.d.ts +5 -0
  48. package/dist/isPayloadOfSchemaType.d.ts.map +1 -0
  49. package/package.json +6 -9
  50. package/src/Payload.ts +19 -5
  51. package/src/PayloadFindFilter.ts +0 -1
  52. package/src/index.ts +1 -1
  53. package/src/isPayload.ts +22 -0
  54. package/dist/docs.json +0 -2540
  55. package/src/identity.ts +0 -13
  56. package/tsup.config.ts +0 -16
@@ -0,0 +1,5 @@
1
+ import { Payload } from './Payload';
2
+ export declare const isPayloadOfSchemaType: <T extends {
3
+ schema: string;
4
+ }>(schema: string) => (x: Payload) => x is T;
5
+ //# sourceMappingURL=isPayloadOfSchemaType.d.ts.map
@@ -0,0 +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,SAC1D,OAAO,WACnB,CAAA"}
package/package.json CHANGED
@@ -9,11 +9,12 @@
9
9
  "email": "support@xyo.network",
10
10
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js/issues"
11
11
  },
12
+ "dependencies": {
13
+ "@xyo-network/object": "^2.74.0"
14
+ },
12
15
  "devDependencies": {
13
- "@xylabs/ts-scripts-yarn3": "^2.19.5",
14
- "@xylabs/tsconfig": "^2.19.5",
15
- "publint": "^0.2.2",
16
- "tsup": "^7.2.0",
16
+ "@xylabs/ts-scripts-yarn3": "^3.0.27",
17
+ "@xylabs/tsconfig": "^3.0.27",
17
18
  "typescript": "^5.2.2"
18
19
  },
19
20
  "description": "Primary SDK for using XYO Protocol 2.0",
@@ -54,11 +55,7 @@
54
55
  "type": "git",
55
56
  "url": "https://github.com/XYOracleNetwork/sdk-xyo-client-js.git"
56
57
  },
57
- "scripts": {
58
- "package-compile": "tsup && publint",
59
- "package-recompile": "tsup && publint"
60
- },
61
58
  "sideEffects": false,
62
59
  "types": "dist/index.d.ts",
63
- "version": "2.73.3"
60
+ "version": "2.74.0"
64
61
  }
package/src/Payload.ts CHANGED
@@ -1,12 +1,14 @@
1
1
  import { EmptyPayload } from './EmptyPayload'
2
2
 
3
+ export type Schema = string
4
+
3
5
  export type WithTimestamp<T extends EmptyPayload = EmptyPayload> = T & { timestamp: number }
4
6
 
5
7
  export type PayloadSchema = 'network.xyo.payload'
6
8
  export const PayloadSchema: PayloadSchema = 'network.xyo.payload'
7
9
 
8
10
  export type SchemaFields = {
9
- schema: string
11
+ schema: Schema
10
12
  }
11
13
 
12
14
  export type WithSchema<T extends EmptyPayload | void = void> = T extends EmptyPayload ? SchemaFields & T : SchemaFields
@@ -17,7 +19,19 @@ export type PayloadFields = {
17
19
 
18
20
  export type WithPayload<T extends EmptyPayload | void = void> = WithSchema<T extends EmptyPayload ? PayloadFields & T : PayloadFields>
19
21
 
20
- export type Payload<
21
- T extends void | EmptyPayload | WithSchema = void,
22
- S extends string = T extends WithSchema ? T['schema'] : string,
23
- > = T extends EmptyPayload ? /* Type sent is an Object */ WithPayload<T & { schema: S }> : /* Type sent is void */ WithPayload<{ schema: S }>
22
+ export type Payload<T extends void | object | WithSchema = void, S extends Schema | void = void> = T extends WithSchema
23
+ ? S extends Schema
24
+ ? /* T (w/Schema) & S provided */
25
+ WithPayload<Omit<T, 'schema'> & { schema: S }>
26
+ : /* Only T (w/Schema) provided */
27
+ WithPayload<T>
28
+ : T extends object
29
+ ? S extends Schema
30
+ ? /* T (w/o Schema) & S provided */
31
+ WithPayload<T & { schema: S }>
32
+ : /* Only T (w/o Schema) provided */
33
+ WithPayload<T & { schema: Schema }>
34
+ : /* Either just S or neither S or T provided */
35
+ {
36
+ schema: S extends Schema ? S : Schema
37
+ }
@@ -7,7 +7,6 @@ export interface PayloadFindFilterHashOffset {
7
7
  offset?: string
8
8
  }
9
9
 
10
- // eslint-disable-next-line deprecation/deprecation
11
10
  export type PayloadFindFilterOffset = PayloadFindFilterTimeOffset | PayloadFindFilterHashOffset
12
11
 
13
12
  export type PayloadFindFilter = {
package/src/index.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  export * from './EmptyPayload'
2
2
  export * from './Error'
3
- export * from './identity'
3
+ export * from './isPayload'
4
4
  export * from './isPayloadOfSchemaType'
5
5
  export * from './Payload'
6
6
  export * from './PayloadFindFilter'
@@ -0,0 +1,22 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ import { AsObjectFactory, isObject } from '@xyo-network/object'
3
+
4
+ import { Payload } from './Payload'
5
+
6
+ export const isAnyPayload = (obj: any): obj is Payload => {
7
+ if (isObject(obj)) {
8
+ return typeof obj.schema === 'string'
9
+ }
10
+ return false
11
+ }
12
+
13
+ export const isPayload =
14
+ <T extends Payload>(schema: string[]) =>
15
+ (obj: any): obj is T => {
16
+ if (isAnyPayload(obj)) {
17
+ return schema.includes(obj.schema)
18
+ }
19
+ return false
20
+ }
21
+
22
+ export const asPayload = <T extends Payload>(schema: string[]) => AsObjectFactory.create((obj: any): obj is T => isPayload(schema)(obj))