@xyo-network/object 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 (152) hide show
  1. package/dist/browser/AnyObject.d.cts +6 -1
  2. package/dist/browser/AnyObject.d.cts.map +1 -1
  3. package/dist/browser/AnyObject.d.mts +6 -1
  4. package/dist/browser/AnyObject.d.mts.map +1 -1
  5. package/dist/browser/AnyObject.d.ts +6 -1
  6. package/dist/browser/AnyObject.d.ts.map +1 -1
  7. package/dist/browser/AsObjectFactory.d.cts +4 -4
  8. package/dist/browser/AsObjectFactory.d.cts.map +1 -1
  9. package/dist/browser/AsObjectFactory.d.mts +4 -4
  10. package/dist/browser/AsObjectFactory.d.mts.map +1 -1
  11. package/dist/browser/AsObjectFactory.d.ts +4 -4
  12. package/dist/browser/AsObjectFactory.d.ts.map +1 -1
  13. package/dist/browser/AsTypeFactory.d.cts +12 -0
  14. package/dist/browser/AsTypeFactory.d.cts.map +1 -0
  15. package/dist/browser/AsTypeFactory.d.mts +12 -0
  16. package/dist/browser/AsTypeFactory.d.mts.map +1 -0
  17. package/dist/browser/AsTypeFactory.d.ts +12 -0
  18. package/dist/browser/AsTypeFactory.d.ts.map +1 -0
  19. package/dist/browser/Base.d.cts +13 -0
  20. package/dist/browser/Base.d.cts.map +1 -0
  21. package/dist/browser/Base.d.mts +13 -0
  22. package/dist/browser/Base.d.mts.map +1 -0
  23. package/dist/browser/Base.d.ts +13 -0
  24. package/dist/browser/Base.d.ts.map +1 -0
  25. package/dist/browser/EmptyObject.d.cts +7 -2
  26. package/dist/browser/EmptyObject.d.cts.map +1 -1
  27. package/dist/browser/EmptyObject.d.mts +7 -2
  28. package/dist/browser/EmptyObject.d.mts.map +1 -1
  29. package/dist/browser/EmptyObject.d.ts +7 -2
  30. package/dist/browser/EmptyObject.d.ts.map +1 -1
  31. package/dist/browser/IsObjectFactory.d.cts +6 -6
  32. package/dist/browser/IsObjectFactory.d.cts.map +1 -1
  33. package/dist/browser/IsObjectFactory.d.mts +6 -6
  34. package/dist/browser/IsObjectFactory.d.mts.map +1 -1
  35. package/dist/browser/IsObjectFactory.d.ts +6 -6
  36. package/dist/browser/IsObjectFactory.d.ts.map +1 -1
  37. package/dist/browser/Validator.d.cts +11 -0
  38. package/dist/browser/Validator.d.cts.map +1 -0
  39. package/dist/browser/Validator.d.mts +11 -0
  40. package/dist/browser/Validator.d.mts.map +1 -0
  41. package/dist/browser/Validator.d.ts +11 -0
  42. package/dist/browser/Validator.d.ts.map +1 -0
  43. package/dist/browser/WithAdditional.d.cts +2 -2
  44. package/dist/browser/WithAdditional.d.cts.map +1 -1
  45. package/dist/browser/WithAdditional.d.mts +2 -2
  46. package/dist/browser/WithAdditional.d.mts.map +1 -1
  47. package/dist/browser/WithAdditional.d.ts +2 -2
  48. package/dist/browser/WithAdditional.d.ts.map +1 -1
  49. package/dist/browser/asObject.d.cts +4 -3
  50. package/dist/browser/asObject.d.cts.map +1 -1
  51. package/dist/browser/asObject.d.mts +4 -3
  52. package/dist/browser/asObject.d.mts.map +1 -1
  53. package/dist/browser/asObject.d.ts +4 -3
  54. package/dist/browser/asObject.d.ts.map +1 -1
  55. package/dist/browser/index.cjs +35 -9
  56. package/dist/browser/index.cjs.map +1 -1
  57. package/dist/browser/index.d.cts +3 -0
  58. package/dist/browser/index.d.cts.map +1 -1
  59. package/dist/browser/index.d.mts +3 -0
  60. package/dist/browser/index.d.mts.map +1 -1
  61. package/dist/browser/index.d.ts +3 -0
  62. package/dist/browser/index.d.ts.map +1 -1
  63. package/dist/browser/index.js +35 -9
  64. package/dist/browser/index.js.map +1 -1
  65. package/dist/browser/isObject.d.cts +2 -1
  66. package/dist/browser/isObject.d.cts.map +1 -1
  67. package/dist/browser/isObject.d.mts +2 -1
  68. package/dist/browser/isObject.d.mts.map +1 -1
  69. package/dist/browser/isObject.d.ts +2 -1
  70. package/dist/browser/isObject.d.ts.map +1 -1
  71. package/dist/node/AnyObject.d.cts +6 -1
  72. package/dist/node/AnyObject.d.cts.map +1 -1
  73. package/dist/node/AnyObject.d.mts +6 -1
  74. package/dist/node/AnyObject.d.mts.map +1 -1
  75. package/dist/node/AnyObject.d.ts +6 -1
  76. package/dist/node/AnyObject.d.ts.map +1 -1
  77. package/dist/node/AsObjectFactory.d.cts +4 -4
  78. package/dist/node/AsObjectFactory.d.cts.map +1 -1
  79. package/dist/node/AsObjectFactory.d.mts +4 -4
  80. package/dist/node/AsObjectFactory.d.mts.map +1 -1
  81. package/dist/node/AsObjectFactory.d.ts +4 -4
  82. package/dist/node/AsObjectFactory.d.ts.map +1 -1
  83. package/dist/node/AsTypeFactory.d.cts +12 -0
  84. package/dist/node/AsTypeFactory.d.cts.map +1 -0
  85. package/dist/node/AsTypeFactory.d.mts +12 -0
  86. package/dist/node/AsTypeFactory.d.mts.map +1 -0
  87. package/dist/node/AsTypeFactory.d.ts +12 -0
  88. package/dist/node/AsTypeFactory.d.ts.map +1 -0
  89. package/dist/node/Base.d.cts +13 -0
  90. package/dist/node/Base.d.cts.map +1 -0
  91. package/dist/node/Base.d.mts +13 -0
  92. package/dist/node/Base.d.mts.map +1 -0
  93. package/dist/node/Base.d.ts +13 -0
  94. package/dist/node/Base.d.ts.map +1 -0
  95. package/dist/node/EmptyObject.d.cts +7 -2
  96. package/dist/node/EmptyObject.d.cts.map +1 -1
  97. package/dist/node/EmptyObject.d.mts +7 -2
  98. package/dist/node/EmptyObject.d.mts.map +1 -1
  99. package/dist/node/EmptyObject.d.ts +7 -2
  100. package/dist/node/EmptyObject.d.ts.map +1 -1
  101. package/dist/node/IsObjectFactory.d.cts +6 -6
  102. package/dist/node/IsObjectFactory.d.cts.map +1 -1
  103. package/dist/node/IsObjectFactory.d.mts +6 -6
  104. package/dist/node/IsObjectFactory.d.mts.map +1 -1
  105. package/dist/node/IsObjectFactory.d.ts +6 -6
  106. package/dist/node/IsObjectFactory.d.ts.map +1 -1
  107. package/dist/node/Validator.d.cts +11 -0
  108. package/dist/node/Validator.d.cts.map +1 -0
  109. package/dist/node/Validator.d.mts +11 -0
  110. package/dist/node/Validator.d.mts.map +1 -0
  111. package/dist/node/Validator.d.ts +11 -0
  112. package/dist/node/Validator.d.ts.map +1 -0
  113. package/dist/node/WithAdditional.d.cts +2 -2
  114. package/dist/node/WithAdditional.d.cts.map +1 -1
  115. package/dist/node/WithAdditional.d.mts +2 -2
  116. package/dist/node/WithAdditional.d.mts.map +1 -1
  117. package/dist/node/WithAdditional.d.ts +2 -2
  118. package/dist/node/WithAdditional.d.ts.map +1 -1
  119. package/dist/node/asObject.d.cts +4 -3
  120. package/dist/node/asObject.d.cts.map +1 -1
  121. package/dist/node/asObject.d.mts +4 -3
  122. package/dist/node/asObject.d.mts.map +1 -1
  123. package/dist/node/asObject.d.ts +4 -3
  124. package/dist/node/asObject.d.ts.map +1 -1
  125. package/dist/node/index.cjs +41 -10
  126. package/dist/node/index.cjs.map +1 -1
  127. package/dist/node/index.d.cts +3 -0
  128. package/dist/node/index.d.cts.map +1 -1
  129. package/dist/node/index.d.mts +3 -0
  130. package/dist/node/index.d.mts.map +1 -1
  131. package/dist/node/index.d.ts +3 -0
  132. package/dist/node/index.d.ts.map +1 -1
  133. package/dist/node/index.js +37 -9
  134. package/dist/node/index.js.map +1 -1
  135. package/dist/node/isObject.d.cts +2 -1
  136. package/dist/node/isObject.d.cts.map +1 -1
  137. package/dist/node/isObject.d.mts +2 -1
  138. package/dist/node/isObject.d.mts.map +1 -1
  139. package/dist/node/isObject.d.ts +2 -1
  140. package/dist/node/isObject.d.ts.map +1 -1
  141. package/package.json +3 -2
  142. package/src/AnyObject.ts +7 -2
  143. package/src/AsObjectFactory.ts +4 -45
  144. package/src/AsTypeFactory.ts +54 -0
  145. package/src/Base.ts +23 -0
  146. package/src/EmptyObject.ts +8 -1
  147. package/src/IsObjectFactory.ts +8 -12
  148. package/src/Validator.ts +13 -0
  149. package/src/WithAdditional.ts +4 -2
  150. package/src/asObject.ts +2 -2
  151. package/src/index.ts +3 -0
  152. package/src/isObject.ts +2 -2
@@ -1,2 +1,7 @@
1
- export type AnyObject = {};
1
+ import { EmptyObject } from './EmptyObject';
2
+ /**
3
+ * Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject
4
+ * will result in a type that includes the universal set of field names
5
+ */
6
+ export type AnyObject = EmptyObject & Record<string | number | symbol, unknown>;
2
7
  //# sourceMappingURL=AnyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../src/AnyObject.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../src/AnyObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA"}
@@ -1,2 +1,7 @@
1
- export type AnyObject = {};
1
+ import { EmptyObject } from './EmptyObject';
2
+ /**
3
+ * Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject
4
+ * will result in a type that includes the universal set of field names
5
+ */
6
+ export type AnyObject = EmptyObject & Record<string | number | symbol, unknown>;
2
7
  //# sourceMappingURL=AnyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../src/AnyObject.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../src/AnyObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA"}
@@ -1,2 +1,7 @@
1
- export type AnyObject = {};
1
+ import { EmptyObject } from './EmptyObject';
2
+ /**
3
+ * Any object, which means that it does not enforce the set of fields that it has. Extending from AnyObject
4
+ * will result in a type that includes the universal set of field names
5
+ */
6
+ export type AnyObject = EmptyObject & Record<string | number | symbol, unknown>;
2
7
  //# sourceMappingURL=AnyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../src/AnyObject.ts"],"names":[],"mappings":"AACA,MAAM,MAAM,SAAS,GAAG,EAAE,CAAA"}
1
+ {"version":3,"file":"AnyObject.d.ts","sourceRoot":"","sources":["../../src/AnyObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,OAAO,CAAC,CAAA"}
@@ -1,8 +1,8 @@
1
- import { ObjectTypeCheck, ObjectTypeConfig } from './IsObjectFactory';
1
+ import { TypeCheck } from './AsTypeFactory';
2
2
  export declare const AsObjectFactory: {
3
- create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => {
4
- <TObject extends T>(obj: object | undefined | null, config?: ObjectTypeConfig): TObject | undefined;
5
- <TObject_1 extends T>(obj: object | undefined | null, assert: string | (() => string), config?: ObjectTypeConfig): TObject_1;
3
+ create: <T extends object>(typeCheck: TypeCheck<T>) => {
4
+ <TType extends T>(value: unknown, config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType | undefined;
5
+ <TType_1 extends T>(value: unknown, assert: string | (() => string), config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType_1;
6
6
  };
7
7
  };
8
8
  //# sourceMappingURL=AsObjectFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErE,eAAO,MAAM,eAAe;;iCAKjB,MAAM,GAAG,SAAS,GAAG,IAAI,WACrB,gBAAgB;mCAIpB,MAAM,GAAG,SAAS,GAAG,IAAI,UACtB,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WACtB,gBAAgB;;CAgC9B,CAAA"}
1
+ {"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG1D,eAAO,MAAM,eAAe;;;;;CAI3B,CAAA"}
@@ -1,8 +1,8 @@
1
- import { ObjectTypeCheck, ObjectTypeConfig } from './IsObjectFactory';
1
+ import { TypeCheck } from './AsTypeFactory';
2
2
  export declare const AsObjectFactory: {
3
- create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => {
4
- <TObject extends T>(obj: object | undefined | null, config?: ObjectTypeConfig): TObject | undefined;
5
- <TObject_1 extends T>(obj: object | undefined | null, assert: string | (() => string), config?: ObjectTypeConfig): TObject_1;
3
+ create: <T extends object>(typeCheck: TypeCheck<T>) => {
4
+ <TType extends T>(value: unknown, config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType | undefined;
5
+ <TType_1 extends T>(value: unknown, assert: string | (() => string), config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType_1;
6
6
  };
7
7
  };
8
8
  //# sourceMappingURL=AsObjectFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErE,eAAO,MAAM,eAAe;;iCAKjB,MAAM,GAAG,SAAS,GAAG,IAAI,WACrB,gBAAgB;mCAIpB,MAAM,GAAG,SAAS,GAAG,IAAI,UACtB,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WACtB,gBAAgB;;CAgC9B,CAAA"}
1
+ {"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG1D,eAAO,MAAM,eAAe;;;;;CAI3B,CAAA"}
@@ -1,8 +1,8 @@
1
- import { ObjectTypeCheck, ObjectTypeConfig } from './IsObjectFactory';
1
+ import { TypeCheck } from './AsTypeFactory';
2
2
  export declare const AsObjectFactory: {
3
- create: <T extends object>(typeCheck: ObjectTypeCheck<T>) => {
4
- <TObject extends T>(obj: object | undefined | null, config?: ObjectTypeConfig): TObject | undefined;
5
- <TObject_1 extends T>(obj: object | undefined | null, assert: string | (() => string), config?: ObjectTypeConfig): TObject_1;
3
+ create: <T extends object>(typeCheck: TypeCheck<T>) => {
4
+ <TType extends T>(value: unknown, config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType | undefined;
5
+ <TType_1 extends T>(value: unknown, assert: string | (() => string), config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType_1;
6
6
  };
7
7
  };
8
8
  //# sourceMappingURL=AsObjectFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAErE,eAAO,MAAM,eAAe;;iCAKjB,MAAM,GAAG,SAAS,GAAG,IAAI,WACrB,gBAAgB;mCAIpB,MAAM,GAAG,SAAS,GAAG,IAAI,UACtB,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WACtB,gBAAgB;;CAgC9B,CAAA"}
1
+ {"version":3,"file":"AsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/AsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAG1D,eAAO,MAAM,eAAe;;;;;CAI3B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Logger } from '@xylabs/logger';
2
+ export interface TypeCheckConfig {
3
+ log?: boolean | Logger;
4
+ }
5
+ export type TypeCheck<T> = (obj: unknown, config?: TypeCheckConfig) => obj is T;
6
+ export declare const AsTypeFactory: {
7
+ create: <T>(typeCheck: TypeCheck<T>) => {
8
+ <TType extends T>(value: unknown, config?: TypeCheckConfig): TType | undefined;
9
+ <TType_1 extends T>(value: unknown, assert: string | (() => string), config?: TypeCheckConfig): TType_1;
10
+ };
11
+ };
12
+ //# sourceMappingURL=AsTypeFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsTypeFactory.d.ts","sourceRoot":"","sources":["../../src/AsTypeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,eAAe,KAAK,GAAG,IAAI,CAAC,CAAA;AAE/E,eAAO,MAAM,aAAa;;iCAKb,OAAO,WACL,eAAe;mCAIjB,OAAO,UACN,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WACtB,eAAe;;CAgC7B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Logger } from '@xylabs/logger';
2
+ export interface TypeCheckConfig {
3
+ log?: boolean | Logger;
4
+ }
5
+ export type TypeCheck<T> = (obj: unknown, config?: TypeCheckConfig) => obj is T;
6
+ export declare const AsTypeFactory: {
7
+ create: <T>(typeCheck: TypeCheck<T>) => {
8
+ <TType extends T>(value: unknown, config?: TypeCheckConfig): TType | undefined;
9
+ <TType_1 extends T>(value: unknown, assert: string | (() => string), config?: TypeCheckConfig): TType_1;
10
+ };
11
+ };
12
+ //# sourceMappingURL=AsTypeFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsTypeFactory.d.ts","sourceRoot":"","sources":["../../src/AsTypeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,eAAe,KAAK,GAAG,IAAI,CAAC,CAAA;AAE/E,eAAO,MAAM,aAAa;;iCAKb,OAAO,WACL,eAAe;mCAIjB,OAAO,UACN,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WACtB,eAAe;;CAgC7B,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { Logger } from '@xylabs/logger';
2
+ export interface TypeCheckConfig {
3
+ log?: boolean | Logger;
4
+ }
5
+ export type TypeCheck<T> = (obj: unknown, config?: TypeCheckConfig) => obj is T;
6
+ export declare const AsTypeFactory: {
7
+ create: <T>(typeCheck: TypeCheck<T>) => {
8
+ <TType extends T>(value: unknown, config?: TypeCheckConfig): TType | undefined;
9
+ <TType_1 extends T>(value: unknown, assert: string | (() => string), config?: TypeCheckConfig): TType_1;
10
+ };
11
+ };
12
+ //# sourceMappingURL=AsTypeFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AsTypeFactory.d.ts","sourceRoot":"","sources":["../../src/AsTypeFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AAED,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,eAAe,KAAK,GAAG,IAAI,CAAC,CAAA;AAE/E,eAAO,MAAM,aAAa;;iCAKb,OAAO,WACL,eAAe;mCAIjB,OAAO,UACN,MAAM,GAAG,CAAC,MAAM,MAAM,CAAC,WACtB,eAAe;;CAgC7B,CAAA"}
@@ -0,0 +1,13 @@
1
+ import { Logger } from '@xylabs/logger';
2
+ import { EmptyObject } from './EmptyObject';
3
+ export type BaseParamsFields = {
4
+ logger?: Logger;
5
+ };
6
+ export type BaseParams<TAdditionalParams extends EmptyObject | void = void> = TAdditionalParams extends EmptyObject ? BaseParamsFields & TAdditionalParams : BaseParamsFields;
7
+ export declare abstract class Base<TParams extends BaseParams = BaseParams> {
8
+ readonly params: TParams;
9
+ static defaultLogger?: Logger;
10
+ constructor(params: TParams);
11
+ protected get logger(): Logger | Console;
12
+ }
13
+ //# sourceMappingURL=Base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../src/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,iBAAiB,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,iBAAiB,SAAS,WAAW,GAC/G,gBAAgB,GAAG,iBAAiB,GACpC,gBAAgB,CAAA;AAEpB,8BAAsB,IAAI,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IAGpD,QAAQ,CAAC,MAAM,EAAE,OAAO;IAFpC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAER,MAAM,EAAE,OAAO;IAIpC,SAAS,KAAK,MAAM,qBAEnB;CACF"}
@@ -0,0 +1,13 @@
1
+ import { Logger } from '@xylabs/logger';
2
+ import { EmptyObject } from './EmptyObject';
3
+ export type BaseParamsFields = {
4
+ logger?: Logger;
5
+ };
6
+ export type BaseParams<TAdditionalParams extends EmptyObject | void = void> = TAdditionalParams extends EmptyObject ? BaseParamsFields & TAdditionalParams : BaseParamsFields;
7
+ export declare abstract class Base<TParams extends BaseParams = BaseParams> {
8
+ readonly params: TParams;
9
+ static defaultLogger?: Logger;
10
+ constructor(params: TParams);
11
+ protected get logger(): Logger | Console;
12
+ }
13
+ //# sourceMappingURL=Base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../src/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,iBAAiB,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,iBAAiB,SAAS,WAAW,GAC/G,gBAAgB,GAAG,iBAAiB,GACpC,gBAAgB,CAAA;AAEpB,8BAAsB,IAAI,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IAGpD,QAAQ,CAAC,MAAM,EAAE,OAAO;IAFpC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAER,MAAM,EAAE,OAAO;IAIpC,SAAS,KAAK,MAAM,qBAEnB;CACF"}
@@ -0,0 +1,13 @@
1
+ import { Logger } from '@xylabs/logger';
2
+ import { EmptyObject } from './EmptyObject';
3
+ export type BaseParamsFields = {
4
+ logger?: Logger;
5
+ };
6
+ export type BaseParams<TAdditionalParams extends EmptyObject | void = void> = TAdditionalParams extends EmptyObject ? BaseParamsFields & TAdditionalParams : BaseParamsFields;
7
+ export declare abstract class Base<TParams extends BaseParams = BaseParams> {
8
+ readonly params: TParams;
9
+ static defaultLogger?: Logger;
10
+ constructor(params: TParams);
11
+ protected get logger(): Logger | Console;
12
+ }
13
+ //# sourceMappingURL=Base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Base.d.ts","sourceRoot":"","sources":["../../src/Base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,UAAU,CAAC,iBAAiB,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,iBAAiB,SAAS,WAAW,GAC/G,gBAAgB,GAAG,iBAAiB,GACpC,gBAAgB,CAAA;AAEpB,8BAAsB,IAAI,CAAC,OAAO,SAAS,UAAU,GAAG,UAAU;IAGpD,QAAQ,CAAC,MAAM,EAAE,OAAO;IAFpC,MAAM,CAAC,aAAa,CAAC,EAAE,MAAM,CAAA;gBAER,MAAM,EAAE,OAAO;IAIpC,SAAS,KAAK,MAAM,qBAEnB;CACF"}
@@ -1,4 +1,9 @@
1
- export type EmptyObject = {
2
- [key: string | number | symbol]: never;
1
+ /**
2
+ * An empty object, which means that it does enforce the set of field names, defaulting to an empty set until
3
+ * extended from, which then adds only those additional fields
4
+ */
5
+ export type EmptyObject<T extends object = object> = {
6
+ [K in keyof T]?: never;
3
7
  };
8
+ export type EmptyObjectOf<T extends object> = EmptyObject<T> extends T ? EmptyObject<T> : never;
4
9
  //# sourceMappingURL=EmptyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAA;AAE/E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA"}
@@ -1,4 +1,9 @@
1
- export type EmptyObject = {
2
- [key: string | number | symbol]: never;
1
+ /**
2
+ * An empty object, which means that it does enforce the set of field names, defaulting to an empty set until
3
+ * extended from, which then adds only those additional fields
4
+ */
5
+ export type EmptyObject<T extends object = object> = {
6
+ [K in keyof T]?: never;
3
7
  };
8
+ export type EmptyObjectOf<T extends object> = EmptyObject<T> extends T ? EmptyObject<T> : never;
4
9
  //# sourceMappingURL=EmptyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAA;AAE/E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA"}
@@ -1,4 +1,9 @@
1
- export type EmptyObject = {
2
- [key: string | number | symbol]: never;
1
+ /**
2
+ * An empty object, which means that it does enforce the set of field names, defaulting to an empty set until
3
+ * extended from, which then adds only those additional fields
4
+ */
5
+ export type EmptyObject<T extends object = object> = {
6
+ [K in keyof T]?: never;
3
7
  };
8
+ export type EmptyObjectOf<T extends object> = EmptyObject<T> extends T ? EmptyObject<T> : never;
4
9
  //# sourceMappingURL=EmptyObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,KAAK,CAAA;CAAE,CAAA"}
1
+ {"version":3,"file":"EmptyObject.d.ts","sourceRoot":"","sources":["../../src/EmptyObject.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK;CAAE,CAAA;AAE/E,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAA"}
@@ -1,10 +1,10 @@
1
- import { Logger } from '@xylabs/logger';
1
+ import { AnyObject } from './AnyObject';
2
+ import { TypeCheck, TypeCheckConfig } from './AsTypeFactory';
3
+ import { EmptyObject } from './EmptyObject';
2
4
  import { ObjectTypeShape } from './isType';
3
- export interface ObjectTypeConfig {
4
- log?: boolean | Logger;
5
+ export interface ObjectTypeConfig extends TypeCheckConfig {
5
6
  }
6
- export type ObjectTypeCheck<T extends {} = {}> = (obj: any, config?: ObjectTypeConfig) => obj is T;
7
- export declare class IsObjectFactory<T extends {}> {
8
- create(shape?: ObjectTypeShape, additionalChecks?: ObjectTypeCheck[]): ObjectTypeCheck<T>;
7
+ export declare class IsObjectFactory<T extends EmptyObject> {
8
+ create(shape?: ObjectTypeShape, additionalChecks?: TypeCheck<AnyObject | EmptyObject>[]): TypeCheck<T>;
9
9
  }
10
10
  //# sourceMappingURL=IsObjectFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AAGD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,GAAG,IAAI,CAAC,CAAA;AAGlG,qBAAa,eAAe,CAAC,CAAC,SAAS,EAAE;IACvC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;CAoB1F"}
1
+ {"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;CAAG;AAE5D,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAChD,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CAqBvG"}
@@ -1,10 +1,10 @@
1
- import { Logger } from '@xylabs/logger';
1
+ import { AnyObject } from './AnyObject';
2
+ import { TypeCheck, TypeCheckConfig } from './AsTypeFactory';
3
+ import { EmptyObject } from './EmptyObject';
2
4
  import { ObjectTypeShape } from './isType';
3
- export interface ObjectTypeConfig {
4
- log?: boolean | Logger;
5
+ export interface ObjectTypeConfig extends TypeCheckConfig {
5
6
  }
6
- export type ObjectTypeCheck<T extends {} = {}> = (obj: any, config?: ObjectTypeConfig) => obj is T;
7
- export declare class IsObjectFactory<T extends {}> {
8
- create(shape?: ObjectTypeShape, additionalChecks?: ObjectTypeCheck[]): ObjectTypeCheck<T>;
7
+ export declare class IsObjectFactory<T extends EmptyObject> {
8
+ create(shape?: ObjectTypeShape, additionalChecks?: TypeCheck<AnyObject | EmptyObject>[]): TypeCheck<T>;
9
9
  }
10
10
  //# sourceMappingURL=IsObjectFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AAGD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,GAAG,IAAI,CAAC,CAAA;AAGlG,qBAAa,eAAe,CAAC,CAAC,SAAS,EAAE;IACvC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;CAoB1F"}
1
+ {"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;CAAG;AAE5D,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAChD,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CAqBvG"}
@@ -1,10 +1,10 @@
1
- import { Logger } from '@xylabs/logger';
1
+ import { AnyObject } from './AnyObject';
2
+ import { TypeCheck, TypeCheckConfig } from './AsTypeFactory';
3
+ import { EmptyObject } from './EmptyObject';
2
4
  import { ObjectTypeShape } from './isType';
3
- export interface ObjectTypeConfig {
4
- log?: boolean | Logger;
5
+ export interface ObjectTypeConfig extends TypeCheckConfig {
5
6
  }
6
- export type ObjectTypeCheck<T extends {} = {}> = (obj: any, config?: ObjectTypeConfig) => obj is T;
7
- export declare class IsObjectFactory<T extends {}> {
8
- create(shape?: ObjectTypeShape, additionalChecks?: ObjectTypeCheck[]): ObjectTypeCheck<T>;
7
+ export declare class IsObjectFactory<T extends EmptyObject> {
8
+ create(shape?: ObjectTypeShape, additionalChecks?: TypeCheck<AnyObject | EmptyObject>[]): TypeCheck<T>;
9
9
  }
10
10
  //# sourceMappingURL=IsObjectFactory.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAEvC,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,OAAO,GAAG,MAAM,CAAA;CACvB;AAGD,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,gBAAgB,KAAK,GAAG,IAAI,CAAC,CAAA;AAGlG,qBAAa,eAAe,CAAC,CAAC,SAAS,EAAE;IACvC,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,eAAe,EAAE,GAAG,eAAe,CAAC,CAAC,CAAC;CAoB1F"}
1
+ {"version":3,"file":"IsObjectFactory.d.ts","sourceRoot":"","sources":["../../src/IsObjectFactory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAA;AAElD,MAAM,WAAW,gBAAiB,SAAQ,eAAe;CAAG;AAE5D,qBAAa,eAAe,CAAC,CAAC,SAAS,WAAW;IAChD,MAAM,CAAC,KAAK,CAAC,EAAE,eAAe,EAAE,gBAAgB,CAAC,EAAE,SAAS,CAAC,SAAS,GAAG,WAAW,CAAC,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC;CAqBvG"}
@@ -0,0 +1,11 @@
1
+ import { Promisable } from '@xylabs/promise';
2
+ import { AnyObject } from './AnyObject';
3
+ import { EmptyObject } from './EmptyObject';
4
+ import { ObjectWrapper } from './ObjectWrapper';
5
+ export interface Validator<T extends EmptyObject = AnyObject> {
6
+ validate(payload: T): Promisable<Error[]>;
7
+ }
8
+ export declare abstract class ValidatorBase<T extends EmptyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {
9
+ abstract validate(payload: T): Promisable<Error[]>;
10
+ }
11
+ //# sourceMappingURL=Validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;CAC1C;AAED,8BAAsB,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACrH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;CACnD"}
@@ -0,0 +1,11 @@
1
+ import { Promisable } from '@xylabs/promise';
2
+ import { AnyObject } from './AnyObject';
3
+ import { EmptyObject } from './EmptyObject';
4
+ import { ObjectWrapper } from './ObjectWrapper';
5
+ export interface Validator<T extends EmptyObject = AnyObject> {
6
+ validate(payload: T): Promisable<Error[]>;
7
+ }
8
+ export declare abstract class ValidatorBase<T extends EmptyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {
9
+ abstract validate(payload: T): Promisable<Error[]>;
10
+ }
11
+ //# sourceMappingURL=Validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;CAC1C;AAED,8BAAsB,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACrH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;CACnD"}
@@ -0,0 +1,11 @@
1
+ import { Promisable } from '@xylabs/promise';
2
+ import { AnyObject } from './AnyObject';
3
+ import { EmptyObject } from './EmptyObject';
4
+ import { ObjectWrapper } from './ObjectWrapper';
5
+ export interface Validator<T extends EmptyObject = AnyObject> {
6
+ validate(payload: T): Promisable<Error[]>;
7
+ }
8
+ export declare abstract class ValidatorBase<T extends EmptyObject = AnyObject> extends ObjectWrapper<T> implements Validator<T> {
9
+ abstract validate(payload: T): Promisable<Error[]>;
10
+ }
11
+ //# sourceMappingURL=Validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Validator.d.ts","sourceRoot":"","sources":["../../src/Validator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,MAAM,WAAW,SAAS,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS;IAC1D,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC,CAAA;CAC1C;AAED,8BAAsB,aAAa,CAAC,CAAC,SAAS,WAAW,GAAG,SAAS,CAAE,SAAQ,aAAa,CAAC,CAAC,CAAE,YAAW,SAAS,CAAC,CAAC,CAAC;IACrH,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,UAAU,CAAC,KAAK,EAAE,CAAC;CACnD"}
@@ -1,3 +1,3 @@
1
- import { AnyObject } from './AnyObject';
2
- export type WithAdditional<T extends AnyObject, TAdditional extends AnyObject | void = void> = TAdditional extends AnyObject ? T & TAdditional : T;
1
+ import { EmptyObject } from './EmptyObject';
2
+ export type WithAdditional<T extends EmptyObject, TAdditional extends EmptyObject | void = void> = TAdditional extends EmptyObject ? T & TAdditional : T;
3
3
  //# sourceMappingURL=WithAdditional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,SAAS,SAAS,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,WAAW,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,SAAS,WAAW,GAC9H,CAAC,GAAG,WAAW,GACf,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- import { AnyObject } from './AnyObject';
2
- export type WithAdditional<T extends AnyObject, TAdditional extends AnyObject | void = void> = TAdditional extends AnyObject ? T & TAdditional : T;
1
+ import { EmptyObject } from './EmptyObject';
2
+ export type WithAdditional<T extends EmptyObject, TAdditional extends EmptyObject | void = void> = TAdditional extends EmptyObject ? T & TAdditional : T;
3
3
  //# sourceMappingURL=WithAdditional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,SAAS,SAAS,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,WAAW,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,SAAS,WAAW,GAC9H,CAAC,GAAG,WAAW,GACf,CAAC,CAAA"}
@@ -1,3 +1,3 @@
1
- import { AnyObject } from './AnyObject';
2
- export type WithAdditional<T extends AnyObject, TAdditional extends AnyObject | void = void> = TAdditional extends AnyObject ? T & TAdditional : T;
1
+ import { EmptyObject } from './EmptyObject';
2
+ export type WithAdditional<T extends EmptyObject, TAdditional extends EmptyObject | void = void> = TAdditional extends EmptyObject ? T & TAdditional : T;
3
3
  //# sourceMappingURL=WithAdditional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAEvC,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,SAAS,EAAE,WAAW,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,SAAS,SAAS,GAAG,CAAC,GAAG,WAAW,GAAG,CAAC,CAAA"}
1
+ {"version":3,"file":"WithAdditional.d.ts","sourceRoot":"","sources":["../../src/WithAdditional.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAE3C,MAAM,MAAM,cAAc,CAAC,CAAC,SAAS,WAAW,EAAE,WAAW,SAAS,WAAW,GAAG,IAAI,GAAG,IAAI,IAAI,WAAW,SAAS,WAAW,GAC9H,CAAC,GAAG,WAAW,GACf,CAAC,CAAA"}
@@ -1,5 +1,6 @@
1
- export declare const asObject: {
2
- <TObject extends any>(obj: object | null | undefined, config?: import("./IsObjectFactory").ObjectTypeConfig | undefined): TObject | undefined;
3
- <TObject_1 extends any>(obj: object | null | undefined, assert: string | (() => string), config?: import("./IsObjectFactory").ObjectTypeConfig | undefined): TObject_1;
1
+ import { AnyObject } from './AnyObject';
2
+ export declare const asAnyObject: {
3
+ <TType extends AnyObject>(value: unknown, config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType | undefined;
4
+ <TType_1 extends AnyObject>(value: unknown, assert: string | (() => string), config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType_1;
4
5
  };
5
6
  //# sourceMappingURL=asObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;CAA2E,CAAA"}
1
+ {"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAIvC,eAAO,MAAM,WAAW;;;CAA8G,CAAA"}
@@ -1,5 +1,6 @@
1
- export declare const asObject: {
2
- <TObject extends any>(obj: object | null | undefined, config?: import("./IsObjectFactory").ObjectTypeConfig | undefined): TObject | undefined;
3
- <TObject_1 extends any>(obj: object | null | undefined, assert: string | (() => string), config?: import("./IsObjectFactory").ObjectTypeConfig | undefined): TObject_1;
1
+ import { AnyObject } from './AnyObject';
2
+ export declare const asAnyObject: {
3
+ <TType extends AnyObject>(value: unknown, config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType | undefined;
4
+ <TType_1 extends AnyObject>(value: unknown, assert: string | (() => string), config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType_1;
4
5
  };
5
6
  //# sourceMappingURL=asObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;CAA2E,CAAA"}
1
+ {"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAIvC,eAAO,MAAM,WAAW;;;CAA8G,CAAA"}
@@ -1,5 +1,6 @@
1
- export declare const asObject: {
2
- <TObject extends any>(obj: object | null | undefined, config?: import("./IsObjectFactory").ObjectTypeConfig | undefined): TObject | undefined;
3
- <TObject_1 extends any>(obj: object | null | undefined, assert: string | (() => string), config?: import("./IsObjectFactory").ObjectTypeConfig | undefined): TObject_1;
1
+ import { AnyObject } from './AnyObject';
2
+ export declare const asAnyObject: {
3
+ <TType extends AnyObject>(value: unknown, config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType | undefined;
4
+ <TType_1 extends AnyObject>(value: unknown, assert: string | (() => string), config?: import("./AsTypeFactory").TypeCheckConfig | undefined): TType_1;
4
5
  };
5
6
  //# sourceMappingURL=asObject.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,QAAQ;;;CAA2E,CAAA"}
1
+ {"version":3,"file":"asObject.d.ts","sourceRoot":"","sources":["../../src/asObject.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAA;AAIvC,eAAO,MAAM,WAAW;;;CAA8G,CAAA"}
@@ -21,32 +21,35 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
21
21
  var src_exports = {};
22
22
  __export(src_exports, {
23
23
  AsObjectFactory: () => AsObjectFactory,
24
+ AsTypeFactory: () => AsTypeFactory,
25
+ Base: () => Base,
24
26
  IsObjectFactory: () => IsObjectFactory,
25
27
  ObjectWrapper: () => ObjectWrapper,
26
- asObject: () => asObject,
28
+ ValidatorBase: () => ValidatorBase,
29
+ asAnyObject: () => asAnyObject,
27
30
  isObject: () => isObject,
28
31
  isType: () => isType
29
32
  });
30
33
  module.exports = __toCommonJS(src_exports);
31
34
 
32
- // src/AsObjectFactory.ts
35
+ // src/AsTypeFactory.ts
33
36
  var import_assert = require("@xylabs/assert");
34
- var AsObjectFactory = {
37
+ var AsTypeFactory = {
35
38
  // eslint-disable-next-line @typescript-eslint/ban-types
36
39
  create: (typeCheck) => {
37
- function func(obj, assertOrConfig, config) {
40
+ function func(value, assertOrConfig, config) {
38
41
  const noUndefined = (resolvedAssert2) => {
39
- return !!resolvedAssert2;
42
+ return resolvedAssert2 !== void 0;
40
43
  };
41
- if (obj === void 0) {
44
+ if (value === void 0) {
42
45
  return void 0;
43
46
  }
44
- if (obj === null) {
47
+ if (value === null) {
45
48
  return void 0;
46
49
  }
47
50
  const resolvedAssert = typeof assertOrConfig === "object" ? void 0 : assertOrConfig;
48
51
  const resolvedConfig = typeof assertOrConfig === "object" ? assertOrConfig : config;
49
- const result = typeCheck(obj, resolvedConfig) ? obj : void 0;
52
+ const result = typeCheck(value, resolvedConfig) ? value : void 0;
50
53
  if (noUndefined(resolvedAssert)) {
51
54
  return (0, import_assert.assertEx)(result, typeof resolvedAssert === "function" ? resolvedAssert() : resolvedAssert);
52
55
  } else {
@@ -57,6 +60,13 @@ var AsObjectFactory = {
57
60
  }
58
61
  };
59
62
 
63
+ // src/AsObjectFactory.ts
64
+ var AsObjectFactory = {
65
+ create: (typeCheck) => {
66
+ return AsTypeFactory.create(typeCheck);
67
+ }
68
+ };
69
+
60
70
  // src/isType.ts
61
71
  var isType = (value, expectedType) => {
62
72
  const typeofValue = typeof value;
@@ -84,7 +94,19 @@ var isObject = (value) => {
84
94
  };
85
95
 
86
96
  // src/asObject.ts
87
- var asObject = (() => AsObjectFactory.create((obj) => isObject(obj)))();
97
+ var asAnyObject = (() => AsObjectFactory.create((obj) => isObject(obj)))();
98
+
99
+ // src/Base.ts
100
+ var Base = class _Base {
101
+ constructor(params) {
102
+ this.params = params;
103
+ params.logger?.debug(`Base constructed [${Object(this).name}]`);
104
+ }
105
+ static defaultLogger;
106
+ get logger() {
107
+ return this.params?.logger ?? _Base.defaultLogger ?? console;
108
+ }
109
+ };
88
110
 
89
111
  // src/IsObjectFactory.ts
90
112
  var IsObjectFactory = class {
@@ -119,4 +141,8 @@ var ObjectWrapper = class {
119
141
  return this.obj;
120
142
  }
121
143
  };
144
+
145
+ // src/Validator.ts
146
+ var ValidatorBase = class extends ObjectWrapper {
147
+ };
122
148
  //# sourceMappingURL=index.cjs.map