zcb 0.1.3 → 0.2.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.
- package/dist/cjs/index.cjs +2 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/esm/index.mjs +2 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/types/cjs/createConfigBuilder.d.cts +1 -1
- package/dist/types/cjs/createConfigBuilder.d.cts.map +1 -1
- package/dist/types/esm/createConfigBuilder.d.ts +1 -1
- package/dist/types/esm/createConfigBuilder.d.ts.map +1 -1
- package/dist/types/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/__testUtils__/configBuilder.ts +1 -1
- package/src/createConfigBuilder.test.ts +6 -6
- package/src/createConfigBuilder.ts +3 -3
package/package.json
CHANGED
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
} from './schema.ts';
|
|
13
13
|
|
|
14
14
|
const configBuilder = createConfigBuilder<ConfigType>(configSchema);
|
|
15
|
-
const routeBuilder = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
15
|
+
const routeBuilder = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
16
16
|
const pageBuilder = createConfigBuilder<PageType>(pageSchema);
|
|
17
17
|
const sectionBuilder = createConfigBuilder<SectionType>(sectionSchema);
|
|
18
18
|
const subsectionBuilder = sectionBuilder.$fork();
|
|
@@ -62,7 +62,7 @@ describe('createConfigBuilder', () => {
|
|
|
62
62
|
it('should copy over all values to the new config', async () => {
|
|
63
63
|
const { createConfigBuilder } = await import('./createConfigBuilder.ts');
|
|
64
64
|
const config = createConfigBuilder<ConfigType>(configSchema);
|
|
65
|
-
const route = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
65
|
+
const route = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
66
66
|
const page = createConfigBuilder<PageType>(pageSchema);
|
|
67
67
|
|
|
68
68
|
config
|
|
@@ -85,7 +85,7 @@ describe('createConfigBuilder', () => {
|
|
|
85
85
|
it('should copy over all experiments to the new config', async () => {
|
|
86
86
|
const { createConfigBuilder } = await import('./createConfigBuilder.ts');
|
|
87
87
|
const config = createConfigBuilder<ConfigType>(configSchema);
|
|
88
|
-
const route = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
88
|
+
const route = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
89
89
|
const page = createConfigBuilder<PageType>(pageSchema);
|
|
90
90
|
|
|
91
91
|
config
|
|
@@ -121,7 +121,7 @@ describe('createConfigBuilder', () => {
|
|
|
121
121
|
it('should copy over all disabled flags to the new config', async () => {
|
|
122
122
|
const { createConfigBuilder } = await import('./createConfigBuilder.ts');
|
|
123
123
|
const config = createConfigBuilder<ConfigType>(configSchema);
|
|
124
|
-
const route = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
124
|
+
const route = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
125
125
|
const page = createConfigBuilder<PageType>(pageSchema);
|
|
126
126
|
|
|
127
127
|
config
|
|
@@ -156,7 +156,7 @@ describe('createConfigBuilder', () => {
|
|
|
156
156
|
|
|
157
157
|
it('should copy over all derived value callbacks to the new config builder', async () => {
|
|
158
158
|
const { createConfigBuilder } = await import('./createConfigBuilder.ts');
|
|
159
|
-
const route = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
159
|
+
const route = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
160
160
|
route.page('personalDetails');
|
|
161
161
|
const childRoute = createConfigBuilder<RouteType>(routeSchema);
|
|
162
162
|
childRoute.$extend(route);
|
|
@@ -401,7 +401,7 @@ describe('createConfigBuilder', () => {
|
|
|
401
401
|
it('should add the value to the config', async () => {
|
|
402
402
|
const { createConfigBuilder } = await import('./createConfigBuilder.ts');
|
|
403
403
|
const config = createConfigBuilder<ConfigType>(configSchema);
|
|
404
|
-
const route = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
404
|
+
const route = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
405
405
|
const subRoute = route.$fork();
|
|
406
406
|
|
|
407
407
|
config.routes([
|
|
@@ -430,7 +430,7 @@ describe('createConfigBuilder', () => {
|
|
|
430
430
|
it('should be a valid config', async () => {
|
|
431
431
|
const { createConfigBuilder } = await import('./createConfigBuilder.ts');
|
|
432
432
|
const config = createConfigBuilder<ConfigType>(configSchema);
|
|
433
|
-
const route = createConfigBuilder<RouteType>(routeSchema, { path: ({ page }) => kebabCase(page) });
|
|
433
|
+
const route = createConfigBuilder<RouteType>(routeSchema, undefined, { path: ({ page }) => kebabCase(page) });
|
|
434
434
|
|
|
435
435
|
config.routes([
|
|
436
436
|
route.page('personalDetails').$flush(),
|
|
@@ -36,6 +36,7 @@ export type CreateConfigBuilderOptions = {
|
|
|
36
36
|
|
|
37
37
|
export const createConfigBuilder = <ZodTypes>(
|
|
38
38
|
zodSchema: z.ZodSchema,
|
|
39
|
+
options: CreateConfigBuilderOptions = {},
|
|
39
40
|
derivedValueCallbacks: Partial<
|
|
40
41
|
Record<
|
|
41
42
|
keyof ZodTypes,
|
|
@@ -46,8 +47,7 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
46
47
|
> = {},
|
|
47
48
|
initialValues: Partial<{
|
|
48
49
|
[Key in keyof ZodTypes]: ZodTypes[Key];
|
|
49
|
-
}> = {}
|
|
50
|
-
options: CreateConfigBuilderOptions = {}
|
|
50
|
+
}> = {}
|
|
51
51
|
): ConfigBuilder<ZodTypes> => {
|
|
52
52
|
type Config = {
|
|
53
53
|
[Key in keyof ZodTypes]: ZodTypes[Key];
|
|
@@ -123,7 +123,7 @@ export const createConfigBuilder = <ZodTypes>(
|
|
|
123
123
|
config = createInitialConfig();
|
|
124
124
|
return values;
|
|
125
125
|
},
|
|
126
|
-
$fork: () => createConfigBuilder<Config>(zodSchema, derivedValueCallbacks, initialValues
|
|
126
|
+
$fork: () => createConfigBuilder<Config>(zodSchema, options, derivedValueCallbacks, initialValues),
|
|
127
127
|
$toJson: () => JSON.stringify(configBuilder.$values(), jsonStringifyReplacer, 2),
|
|
128
128
|
$validate: () => {
|
|
129
129
|
try {
|