Skip to content

Commit 15fa031

Browse files
authored
Merge pull request #44 from enormora/export-types
Export public types to fix TS4023 for consumers
2 parents 0b7b15d + 7b1d90f commit 15fa031

File tree

1 file changed

+16
-15
lines changed

1 file changed

+16
-15
lines changed

source/main.ts

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,26 +8,26 @@ const overrideWrapperSymbol: unique symbol = Symbol('objectory.overrideWrapper')
88
const removePropertySymbol: unique symbol = Symbol('objectory.removeProperty');
99
const primitiveAllowedTypes = new Set(['string', 'number', 'boolean', 'bigint', 'symbol', 'function']);
1010

11-
type ArrayFactoryOptions = {
11+
export type ArrayFactoryOptions = {
1212
readonly length?: number;
1313
};
1414

15-
type ArrayFactoryValue<ObjectShape extends Record<string, AllowedObjectShapeValues>> = {
15+
export type ArrayFactoryValue<ObjectShape extends Record<string, AllowedObjectShapeValues>> = {
1616
readonly factory: ObjectoryFactory<ObjectShape>;
1717
readonly length: number;
1818
readonly [arrayFactorySymbol]: true;
1919
};
2020

21-
type ExtensionShape<
21+
export type ExtensionShape<
2222
BaseShape extends Record<string, AllowedObjectShapeValues>,
2323
ExtendedShape extends BaseShape
2424
> = Partial<Pick<ExtendedShape, keyof BaseShape>> & Pick<ExtendedShape, Exclude<keyof ExtendedShape, keyof BaseShape>>;
2525

26-
type Overrides<ObjectShape extends Record<string, AllowedGeneratorReturnShape>> = {
26+
export type Overrides<ObjectShape extends Record<string, AllowedGeneratorReturnShape>> = {
2727
[P in keyof ObjectShape]?: OverridesHelper<ObjectShape[P]>;
2828
};
2929

30-
type OverridesHelper<T> =
30+
export type OverridesHelper<T> =
3131
| RemoveProperty
3232
| (T extends ObjectoryFactory<infer U>
3333
? Overrides<ShapeToGeneratorReturnValue<U>>
@@ -39,7 +39,7 @@ type OverridesHelper<T> =
3939
| null
4040
| undefined;
4141

42-
type ObjectoryFactory<ObjectShape extends Record<string, AllowedObjectShapeValues>> = {
42+
export type ObjectoryFactory<ObjectShape extends Record<string, AllowedObjectShapeValues>> = {
4343
readonly build: (overrides?: Overrides<ShapeToGeneratorReturnValue<ObjectShape>>) => ObjectShape;
4444
readonly asArray: (options?: ArrayFactoryOptions) => ArrayFactoryValue<ObjectShape>;
4545
readonly withOverrides: (
@@ -53,15 +53,15 @@ type ObjectoryFactory<ObjectShape extends Record<string, AllowedObjectShapeValue
5353
readonly buildInvalidWithChanged: (path: string, value: unknown) => unknown;
5454
};
5555

56-
type ShapeToGeneratorReturnValueHelper<T> = T extends readonly (infer U)[]
56+
export type ShapeToGeneratorReturnValueHelper<T> = T extends readonly (infer U)[]
5757
? U extends Record<string, AllowedObjectShapeValues>
5858
? ArrayFactoryReturnValue<U>
5959
: readonly ShapeToGeneratorReturnValueHelper<U>[]
6060
: T extends Record<string, AllowedObjectShapeValues>
6161
? ObjectoryFactory<T>
6262
: T;
6363

64-
type ShapeToGeneratorReturnValue<T extends Record<string, AllowedObjectShapeValues>> = {
64+
export type ShapeToGeneratorReturnValue<T extends Record<string, AllowedObjectShapeValues>> = {
6565
[P in keyof T]: ShapeToGeneratorReturnValueHelper<T[P]>;
6666
};
6767

@@ -78,7 +78,8 @@ type GeneratedObjectToShapeHelper<T> =
7878
? readonly GeneratedObjectToShapeHelper<U>[]
7979
: T;
8080

81-
type ArrayFactoryReturnValue<T> = T extends Record<string, AllowedObjectShapeValues> ? ArrayFactoryValue<T> : never;
81+
export type ArrayFactoryReturnValue<T> =
82+
T extends Record<string, AllowedObjectShapeValues> ? ArrayFactoryValue<T> : never;
8283

8384
type GeneratedArrayItemShape<ObjectShape extends Record<string, AllowedObjectShapeValues>> = GeneratedObjectToShape<
8485
ShapeToGeneratorReturnValue<ObjectShape>
@@ -88,21 +89,21 @@ type OverrideWrapper = { readonly value: unknown; readonly [overrideWrapperSymbo
8889

8990
type NormalizedOverride = { readonly applied: false } | { readonly applied: true; readonly value: unknown };
9091

91-
type RemoveProperty = { readonly [removePropertySymbol]: true };
92+
export type RemoveProperty = { readonly [removePropertySymbol]: true };
9293

93-
type GeneratorFunction<ObjectShape extends Record<string, AllowedObjectShapeValues>> =
94+
export type GeneratorFunction<ObjectShape extends Record<string, AllowedObjectShapeValues>> =
9495
() => ShapeToGeneratorReturnValue<ObjectShape>;
9596

9697
// eslint-disable-next-line @typescript-eslint/no-explicit-any -- ok in this case
97-
type AnyFunction = (...args: any[]) => unknown;
98+
export type AnyFunction = (...args: any[]) => unknown;
9899

99-
type BaseTypes = AnyFunction | Date | bigint | boolean | number | string | symbol | null | undefined;
100+
export type BaseTypes = AnyFunction | Date | bigint | boolean | number | string | symbol | null | undefined;
100101

101-
type AllowedObjectShapeValues =
102+
export type AllowedObjectShapeValues =
102103
| BaseTypes
103104
| readonly AllowedObjectShapeValues[]
104105
| { [key: string]: AllowedObjectShapeValues };
105-
type AllowedGeneratorReturnShape =
106+
export type AllowedGeneratorReturnShape =
106107
| ArrayFactoryValue<Record<string, AllowedObjectShapeValues>>
107108
| BaseTypes
108109
| ObjectoryFactory<Record<string, AllowedObjectShapeValues>>

0 commit comments

Comments
 (0)