@xylabs/object 3.3.1 → 3.3.2

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 (88) hide show
  1. package/dist/browser/AsObjectFactory.d.cts +3 -11
  2. package/dist/browser/AsObjectFactory.d.cts.map +1 -1
  3. package/dist/browser/AsObjectFactory.d.mts +3 -11
  4. package/dist/browser/AsObjectFactory.d.mts.map +1 -1
  5. package/dist/browser/AsObjectFactory.d.ts +3 -11
  6. package/dist/browser/AsObjectFactory.d.ts.map +1 -1
  7. package/dist/browser/AsTypeFactory.d.cts +4 -5
  8. package/dist/browser/AsTypeFactory.d.cts.map +1 -1
  9. package/dist/browser/AsTypeFactory.d.mts +4 -5
  10. package/dist/browser/AsTypeFactory.d.mts.map +1 -1
  11. package/dist/browser/AsTypeFactory.d.ts +4 -5
  12. package/dist/browser/AsTypeFactory.d.ts.map +1 -1
  13. package/dist/browser/IsObjectFactory.d.cts +2 -2
  14. package/dist/browser/IsObjectFactory.d.cts.map +1 -1
  15. package/dist/browser/IsObjectFactory.d.mts +2 -2
  16. package/dist/browser/IsObjectFactory.d.mts.map +1 -1
  17. package/dist/browser/IsObjectFactory.d.ts +2 -2
  18. package/dist/browser/IsObjectFactory.d.ts.map +1 -1
  19. package/dist/browser/asObject.d.cts +2 -10
  20. package/dist/browser/asObject.d.cts.map +1 -1
  21. package/dist/browser/asObject.d.mts +2 -10
  22. package/dist/browser/asObject.d.mts.map +1 -1
  23. package/dist/browser/asObject.d.ts +2 -10
  24. package/dist/browser/asObject.d.ts.map +1 -1
  25. package/dist/browser/index.cjs +0 -5
  26. package/dist/browser/index.cjs.map +1 -1
  27. package/dist/browser/index.js +0 -5
  28. package/dist/browser/index.js.map +1 -1
  29. package/dist/neutral/AsObjectFactory.d.cts +3 -11
  30. package/dist/neutral/AsObjectFactory.d.cts.map +1 -1
  31. package/dist/neutral/AsObjectFactory.d.mts +3 -11
  32. package/dist/neutral/AsObjectFactory.d.mts.map +1 -1
  33. package/dist/neutral/AsObjectFactory.d.ts +3 -11
  34. package/dist/neutral/AsObjectFactory.d.ts.map +1 -1
  35. package/dist/neutral/AsTypeFactory.d.cts +4 -5
  36. package/dist/neutral/AsTypeFactory.d.cts.map +1 -1
  37. package/dist/neutral/AsTypeFactory.d.mts +4 -5
  38. package/dist/neutral/AsTypeFactory.d.mts.map +1 -1
  39. package/dist/neutral/AsTypeFactory.d.ts +4 -5
  40. package/dist/neutral/AsTypeFactory.d.ts.map +1 -1
  41. package/dist/neutral/IsObjectFactory.d.cts +2 -2
  42. package/dist/neutral/IsObjectFactory.d.cts.map +1 -1
  43. package/dist/neutral/IsObjectFactory.d.mts +2 -2
  44. package/dist/neutral/IsObjectFactory.d.mts.map +1 -1
  45. package/dist/neutral/IsObjectFactory.d.ts +2 -2
  46. package/dist/neutral/IsObjectFactory.d.ts.map +1 -1
  47. package/dist/neutral/asObject.d.cts +2 -10
  48. package/dist/neutral/asObject.d.cts.map +1 -1
  49. package/dist/neutral/asObject.d.mts +2 -10
  50. package/dist/neutral/asObject.d.mts.map +1 -1
  51. package/dist/neutral/asObject.d.ts +2 -10
  52. package/dist/neutral/asObject.d.ts.map +1 -1
  53. package/dist/neutral/index.cjs +0 -5
  54. package/dist/neutral/index.cjs.map +1 -1
  55. package/dist/neutral/index.js +0 -5
  56. package/dist/neutral/index.js.map +1 -1
  57. package/dist/node/AsObjectFactory.d.cts +3 -11
  58. package/dist/node/AsObjectFactory.d.cts.map +1 -1
  59. package/dist/node/AsObjectFactory.d.mts +3 -11
  60. package/dist/node/AsObjectFactory.d.mts.map +1 -1
  61. package/dist/node/AsObjectFactory.d.ts +3 -11
  62. package/dist/node/AsObjectFactory.d.ts.map +1 -1
  63. package/dist/node/AsTypeFactory.d.cts +4 -5
  64. package/dist/node/AsTypeFactory.d.cts.map +1 -1
  65. package/dist/node/AsTypeFactory.d.mts +4 -5
  66. package/dist/node/AsTypeFactory.d.mts.map +1 -1
  67. package/dist/node/AsTypeFactory.d.ts +4 -5
  68. package/dist/node/AsTypeFactory.d.ts.map +1 -1
  69. package/dist/node/IsObjectFactory.d.cts +2 -2
  70. package/dist/node/IsObjectFactory.d.cts.map +1 -1
  71. package/dist/node/IsObjectFactory.d.mts +2 -2
  72. package/dist/node/IsObjectFactory.d.mts.map +1 -1
  73. package/dist/node/IsObjectFactory.d.ts +2 -2
  74. package/dist/node/IsObjectFactory.d.ts.map +1 -1
  75. package/dist/node/asObject.d.cts +2 -10
  76. package/dist/node/asObject.d.cts.map +1 -1
  77. package/dist/node/asObject.d.mts +2 -10
  78. package/dist/node/asObject.d.mts.map +1 -1
  79. package/dist/node/asObject.d.ts +2 -10
  80. package/dist/node/asObject.d.ts.map +1 -1
  81. package/dist/node/index.cjs +0 -5
  82. package/dist/node/index.cjs.map +1 -1
  83. package/dist/node/index.js +0 -5
  84. package/dist/node/index.js.map +1 -1
  85. package/package.json +4 -4
  86. package/src/AsObjectFactory.ts +2 -2
  87. package/src/AsTypeFactory.ts +5 -15
  88. package/src/IsObjectFactory.ts +2 -2
@@ -3,34 +3,30 @@ import { Logger } from '@xylabs/logger'
3
3
  import { AnyNonPromise, isPromise, TypedValue } from '@xylabs/promise'
4
4
 
5
5
  export interface TypeCheckConfig {
6
- disallowChecks?: ((value: unknown) => unknown)[]
7
6
  log?: boolean | Logger
8
7
  }
9
8
 
10
9
  export type StringOrAlertFunction<T extends AnyNonPromise> = string | AssertExMessageFunc<T>
11
10
 
12
- export type TypeCheck<T extends TypedValue, E = void> = (
13
- obj: (E extends void ? Exclude<AnyNonPromise, E> : AnyNonPromise) | T,
14
- config?: TypeCheckConfig,
15
- ) => obj is T
11
+ export type TypeCheck<T extends TypedValue> = (obj: AnyNonPromise, config?: TypeCheckConfig) => obj is T
16
12
 
17
13
  export const AsTypeFactory = {
18
14
  // eslint-disable-next-line @typescript-eslint/ban-types
19
- create: <T extends AnyNonPromise, E = void>(typeCheck: TypeCheck<T, E>) => {
15
+ create: <T extends AnyNonPromise>(typeCheck: TypeCheck<T>) => {
20
16
  function func<TType extends T>(
21
17
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
- value: (E extends void ? Exclude<AnyNonPromise, E> : AnyNonPromise) | T,
18
+ value: AnyNonPromise,
23
19
  config?: TypeCheckConfig,
24
20
  ): TType | undefined
25
21
  function func<TType extends T>(
26
22
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
27
- value: (E extends void ? Exclude<AnyNonPromise, E> : AnyNonPromise) | T,
23
+ value: AnyNonPromise,
28
24
  assert: StringOrAlertFunction<T>,
29
25
  config?: TypeCheckConfig,
30
26
  ): TType
31
27
  function func<TType extends T>(
32
28
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
- value: (E extends void ? Exclude<AnyNonPromise, E> : AnyNonPromise) | T,
29
+ value: AnyNonPromise,
34
30
  assertOrConfig?: StringOrAlertFunction<T> | TypeCheckConfig,
35
31
  config?: TypeCheckConfig,
36
32
  ): TType | undefined {
@@ -46,12 +42,6 @@ export const AsTypeFactory = {
46
42
  throw new TypeError('un-awaited promises may not be sent to "as" functions')
47
43
  }
48
44
 
49
- for (const disallowCheck of config?.disallowChecks ?? []) {
50
- if (disallowCheck(value)) {
51
- throw new TypeError('disallowed type')
52
- }
53
- }
54
-
55
45
  const resolvedAssert = (typeof assertOrConfig === 'object' ? undefined : assertOrConfig) as StringOrAlertFunction<T> | undefined
56
46
  const resolvedConfig = typeof assertOrConfig === 'object' ? assertOrConfig : config
57
47
  const result = typeCheck(value, resolvedConfig) ? (value as TType) : undefined
@@ -5,8 +5,8 @@ import { isType, ObjectTypeShape } from './isType'
5
5
 
6
6
  export interface ObjectTypeConfig extends TypeCheckConfig {}
7
7
 
8
- export class IsObjectFactory<T extends TypedObject, E = void> {
9
- create(shape?: ObjectTypeShape, additionalChecks?: TypeCheck<TypedObject, E>[]): TypeCheck<T, E> {
8
+ export class IsObjectFactory<T extends TypedObject> {
9
+ create(shape?: ObjectTypeShape, additionalChecks?: TypeCheck<TypedObject>[]): TypeCheck<T> {
10
10
  return (obj, { log } = {}): obj is T => {
11
11
  if (!obj || typeof obj !== 'object') {
12
12
  return false