@jakubmazanec/zod-utils 1.0.3-unstable.ee5adfc → 2.0.0-next.2fa8a2c

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 (80) hide show
  1. package/README.md +1 -1
  2. package/build/main.js +4 -0
  3. package/build/main.js.map +7 -0
  4. package/build/types/Json.js +7 -0
  5. package/build/types/Json.js.map +7 -0
  6. package/build/types/PackageJson.js +236 -0
  7. package/build/types/PackageJson.js.map +7 -0
  8. package/build/types/TsconfigJson.js +320 -0
  9. package/build/types/TsconfigJson.js.map +7 -0
  10. package/build/types.js +5 -0
  11. package/build/types.js.map +7 -0
  12. package/build/utils/is.js +5 -0
  13. package/build/utils/is.js.map +7 -0
  14. package/build/utils/isPackageJson.js +6 -0
  15. package/build/utils/isPackageJson.js.map +7 -0
  16. package/build/utils/isTsconfigJson.js +6 -0
  17. package/build/utils/isTsconfigJson.js.map +7 -0
  18. package/{dist → build}/utils/readFile.d.ts +1 -1
  19. package/build/utils/readFile.js +12 -0
  20. package/build/utils/readFile.js.map +7 -0
  21. package/{dist → build}/utils/readJson.d.ts +1 -1
  22. package/build/utils/readJson.js +6 -0
  23. package/build/utils/readJson.js.map +7 -0
  24. package/build/utils/readPackageJson.js +7 -0
  25. package/build/utils/readPackageJson.js.map +7 -0
  26. package/build/utils/zodIssuesToString.js +32 -0
  27. package/build/utils/zodIssuesToString.js.map +7 -0
  28. package/build/utils.js +9 -0
  29. package/build/utils.js.map +7 -0
  30. package/package.json +26 -15
  31. package/{src → source}/utils/readFile.ts +3 -4
  32. package/{src → source}/utils/readJson.ts +3 -4
  33. package/{src → source}/utils/readPackageJson.ts +2 -3
  34. package/{src → source}/utils/zodIssuesToString.ts +6 -6
  35. package/dist/main.js +0 -4
  36. package/dist/main.js.map +0 -1
  37. package/dist/types/Json.js +0 -14
  38. package/dist/types/Json.js.map +0 -1
  39. package/dist/types/PackageJson.js +0 -292
  40. package/dist/types/PackageJson.js.map +0 -1
  41. package/dist/types/TsconfigJson.js +0 -338
  42. package/dist/types/TsconfigJson.js.map +0 -1
  43. package/dist/types.js +0 -5
  44. package/dist/types.js.map +0 -1
  45. package/dist/utils/is.js +0 -5
  46. package/dist/utils/is.js.map +0 -1
  47. package/dist/utils/isPackageJson.js +0 -6
  48. package/dist/utils/isPackageJson.js.map +0 -1
  49. package/dist/utils/isTsconfigJson.js +0 -6
  50. package/dist/utils/isTsconfigJson.js.map +0 -1
  51. package/dist/utils/readFile.js +0 -16
  52. package/dist/utils/readFile.js.map +0 -1
  53. package/dist/utils/readJson.js +0 -7
  54. package/dist/utils/readJson.js.map +0 -1
  55. package/dist/utils/readPackageJson.js +0 -7
  56. package/dist/utils/readPackageJson.js.map +0 -1
  57. package/dist/utils/zodIssuesToString.js +0 -30
  58. package/dist/utils/zodIssuesToString.js.map +0 -1
  59. package/dist/utils.js +0 -9
  60. package/dist/utils.js.map +0 -1
  61. /package/{dist → build}/main.d.ts +0 -0
  62. /package/{dist → build}/types/Json.d.ts +0 -0
  63. /package/{dist → build}/types/PackageJson.d.ts +0 -0
  64. /package/{dist → build}/types/TsconfigJson.d.ts +0 -0
  65. /package/{dist → build}/types.d.ts +0 -0
  66. /package/{dist → build}/utils/is.d.ts +0 -0
  67. /package/{dist → build}/utils/isPackageJson.d.ts +0 -0
  68. /package/{dist → build}/utils/isTsconfigJson.d.ts +0 -0
  69. /package/{dist → build}/utils/readPackageJson.d.ts +0 -0
  70. /package/{dist → build}/utils/zodIssuesToString.d.ts +0 -0
  71. /package/{dist → build}/utils.d.ts +0 -0
  72. /package/{src → source}/main.ts +0 -0
  73. /package/{src → source}/types/Json.ts +0 -0
  74. /package/{src → source}/types/PackageJson.ts +0 -0
  75. /package/{src → source}/types/TsconfigJson.ts +0 -0
  76. /package/{src → source}/types.ts +0 -0
  77. /package/{src → source}/utils/is.ts +0 -0
  78. /package/{src → source}/utils/isPackageJson.ts +0 -0
  79. /package/{src → source}/utils/isTsconfigJson.ts +0 -0
  80. /package/{src → source}/utils.ts +0 -0
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/types/TsconfigJson.ts"],
4
+ "sourcesContent": ["import * as z from 'zod';\n\nlet jsxSchema = z.enum(['preserve', 'react', 'react-jsx', 'react-jsxdev', 'react-native']);\n\nlet moduleSchema = z.enum([\n 'CommonJS',\n 'AMD',\n 'System',\n 'UMD',\n 'ES6',\n 'ES2015',\n 'ES2020',\n 'ESNext',\n 'None',\n 'commonjs',\n 'amd',\n 'system',\n 'umd',\n 'es6',\n 'es2015',\n 'es2020',\n 'esnext',\n 'none',\n]);\n\nlet newLineSchema = z.enum(['CRLF', 'LF', 'crlf', 'lf']);\n\nlet targetSchema = z.enum([\n 'ES3',\n 'ES5',\n 'ES6',\n 'ES2015',\n 'ES2016',\n 'ES2017',\n 'ES2018',\n 'ES2019',\n 'ES2020',\n 'ES2021',\n 'ESNext',\n 'es3',\n 'es5',\n 'es6',\n 'es2015',\n 'es2016',\n 'es2017',\n 'es2018',\n 'es2019',\n 'es2020',\n 'es2021',\n 'esnext',\n]);\n\nlet libSchema = z.enum([\n 'ES5',\n 'ES6',\n 'ES7',\n 'ES2015',\n 'ES2015.Collection',\n 'ES2015.Core',\n 'ES2015.Generator',\n 'ES2015.Iterable',\n 'ES2015.Promise',\n 'ES2015.Proxy',\n 'ES2015.Reflect',\n 'ES2015.Symbol.WellKnown',\n 'ES2015.Symbol',\n 'ES2016',\n 'ES2016.Array.Include',\n 'ES2017',\n 'ES2017.Intl',\n 'ES2017.Object',\n 'ES2017.SharedMemory',\n 'ES2017.String',\n 'ES2017.TypedArrays',\n 'ES2018',\n 'ES2018.AsyncGenerator',\n 'ES2018.AsyncIterable',\n 'ES2018.Intl',\n 'ES2018.Promise',\n 'ES2018.Regexp',\n 'ES2019',\n 'ES2019.Array',\n 'ES2019.Object',\n 'ES2019.String',\n 'ES2019.Symbol',\n 'ES2020',\n 'ES2020.BigInt',\n 'ES2020.Promise',\n 'ES2020.String',\n 'ES2020.Symbol.WellKnown',\n 'ES2020.SharedMemory',\n 'ES2020.Intl',\n 'ES2021',\n 'ES2021.Promise',\n 'ES2021.String',\n 'ES2021.WeakRef',\n 'ESNext',\n 'ESNext.Array',\n 'ESNext.AsyncIterable',\n 'ESNext.BigInt',\n 'ESNext.Intl',\n 'ESNext.Promise',\n 'ESNext.String',\n 'ESNext.Symbol',\n 'ESNext.WeakRef',\n 'DOM',\n 'DOM.Iterable',\n 'ScriptHost',\n 'WebWorker',\n 'WebWorker.ImportScripts',\n 'WebWorker.Iterable',\n 'es5',\n 'es6',\n 'es7',\n 'es2015',\n 'es2015.collection',\n 'es2015.core',\n 'es2015.generator',\n 'es2015.iterable',\n 'es2015.promise',\n 'es2015.proxy',\n 'es2015.reflect',\n 'es2015.symbol.wellknown',\n 'es2015.symbol',\n 'es2016',\n 'es2016.array.include',\n 'es2017',\n 'es2017.intl',\n 'es2017.object',\n 'es2017.sharedmemory',\n 'es2017.string',\n 'es2017.typedarrays',\n 'es2018',\n 'es2018.asyncgenerator',\n 'es2018.asynciterable',\n 'es2018.intl',\n 'es2018.promise',\n 'es2018.regexp',\n 'es2019',\n 'es2019.array',\n 'es2019.object',\n 'es2019.string',\n 'es2019.symbol',\n 'es2020',\n 'es2020.bigint',\n 'es2020.promise',\n 'es2020.string',\n 'es2020.symbol.wellknown',\n 'es2020.sharedmemory',\n 'es2020.intl',\n 'es2021',\n 'es2021.promise',\n 'es2021.string',\n 'es2021.weakref',\n 'esnext',\n 'esnext.array',\n 'esnext.asynciterable',\n 'esnext.bigint',\n 'esnext.intl',\n 'esnext.promise',\n 'esnext.string',\n 'esnext.symbol',\n 'esnext.weakref',\n 'dom',\n 'dom.iterable',\n 'scripthost',\n 'webworker',\n 'webworker.importscripts',\n 'webworker.iterable',\n]);\n\nlet pluginSchema = z\n .object({\n name: z.string().optional(),\n })\n .strict()\n .and(z.record(z.unknown()));\n\nlet importsNotUsedAsValuesSchema = z.enum(['remove', 'preserve', 'error']);\n\nlet fallbackPollingSchema = z.enum([\n 'fixedPollingInterval',\n 'priorityPollingInterval',\n 'dynamicPriorityPolling',\n 'fixedInterval',\n 'priorityInterval',\n 'dynamicPriority',\n 'fixedChunkSize',\n]);\n\nlet watchDirectory = z.enum([\n 'useFsEvents',\n 'fixedPollingInterval',\n 'dynamicPriorityPolling',\n 'fixedChunkSizePolling',\n]);\n\nlet watchFileSchema = z.enum([\n 'fixedPollingInterval',\n 'priorityPollingInterval',\n 'dynamicPriorityPolling',\n 'useFsEvents',\n 'useFsEventsOnParentDirectory',\n 'fixedChunkSizePolling',\n]);\n\nlet compilerOptionsSchema = z\n .object({\n allowJs: z.boolean().optional(),\n allowSyntheticDefaultImports: z.boolean().optional(),\n allowUmdGlobalAccess: z.boolean().optional(),\n allowUnreachableCode: z.boolean().optional(),\n allowUnusedLabels: z.boolean().optional(),\n alwaysStrict: z.boolean().optional(),\n assumeChangesOnlyAffectDirectDependencies: z.boolean().optional(),\n baseUrl: z.string().optional(),\n charset: z.string().optional(),\n checkJs: z.boolean().optional(),\n composite: z.boolean().optional(),\n declaration: z.boolean().optional(),\n declarationDir: z.string().optional(),\n declarationMap: z.boolean().optional(),\n diagnostics: z.boolean().optional(),\n disableReferencedProjectLoad: z.boolean().optional(),\n disableSizeLimit: z.boolean().optional(),\n disableSolutionSearching: z.boolean().optional(),\n disableSourceOfProjectReferenceRedirect: z.boolean().optional(),\n downlevelIteration: z.boolean().optional(),\n emitBOM: z.boolean().optional(),\n emitDeclarationOnly: z.boolean().optional(),\n emitDecoratorMetadata: z.boolean().optional(),\n esModuleInterop: z.boolean().optional(),\n exactOptionalPropertyTypes: z.boolean().optional(),\n experimentalDecorators: z.boolean().optional(),\n explainFiles: z.boolean().optional(),\n extendedDiagnostics: z.boolean().optional(),\n fallbackPolling: fallbackPollingSchema.optional(),\n forceConsistentCasingInFileNames: z.boolean().optional(),\n generateCpuProfile: z.string().optional(),\n importHelpers: z.boolean().optional(),\n importsNotUsedAsValues: importsNotUsedAsValuesSchema.optional(),\n incremental: z.boolean().optional(),\n inlineSourceMap: z.boolean().optional(),\n inlineSources: z.boolean().optional(),\n isolatedModules: z.boolean().optional(),\n jsx: jsxSchema.optional(),\n jsxFactory: z.string().optional(),\n jsxFragmentFactory: z.string().optional(),\n jsxImportSource: z.string().optional(),\n keyofStringsOnly: z.boolean().optional(),\n lib: libSchema.array().optional(),\n listEmittedFiles: z.boolean().optional(),\n listFiles: z.boolean().optional(),\n listFilesOnly: z.boolean().optional(),\n mapRoot: z.string().optional(),\n maxNodeModuleJsDepth: z.number().optional(),\n module: moduleSchema.optional(),\n moduleResolution: z.enum(['classic', 'node']).optional(),\n newLine: newLineSchema.optional(),\n noEmit: z.boolean().optional(),\n noEmitHelpers: z.boolean().optional(),\n noEmitOnError: z.boolean().optional(),\n noErrorTruncation: z.boolean().optional(),\n noFallthroughCasesInSwitch: z.boolean().optional(),\n noImplicitAny: z.boolean().optional(),\n noImplicitOverride: z.boolean().optional(),\n noImplicitReturns: z.boolean().optional(),\n noImplicitThis: z.boolean().optional(),\n noImplicitUseStrict: z.boolean().optional(),\n noLib: z.boolean().optional(),\n noPropertyAccessFromIndexSignature: z.boolean().optional(),\n noResolve: z.boolean().optional(),\n noStrictGenericChecks: z.boolean().optional(),\n noUncheckedIndexedAccess: z.boolean().optional(),\n noUnusedLocals: z.boolean().optional(),\n noUnusedParameters: z.boolean().optional(),\n outDir: z.string().optional(),\n outFile: z.string().optional(),\n paths: z.record(z.string().array()).optional(),\n plugins: pluginSchema.array().optional(),\n preserveConstEnums: z.boolean().optional(),\n preserveSymlinks: z.boolean().optional(),\n preserveWatchOutput: z.boolean().optional(),\n pretty: z.boolean().optional(),\n reactNamespace: z.string().optional(),\n removeComments: z.boolean().optional(),\n resolveJsonModule: z.boolean().optional(),\n rootDir: z.string().optional(),\n rootDirs: z.string().array().optional(),\n skipDefaultLibCheck: z.boolean().optional(),\n skipLibCheck: z.boolean().optional(),\n sourceMap: z.boolean().optional(),\n sourceRoot: z.string().optional(),\n strict: z.boolean().optional(),\n strictBindCallApply: z.boolean().optional(),\n strictFunctionTypes: z.boolean().optional(),\n strictNullChecks: z.boolean().optional(),\n strictPropertyInitialization: z.boolean().optional(),\n stripInternal: z.boolean().optional(),\n suppressExcessPropertyErrors: z.boolean().optional(),\n suppressImplicitAnyIndexErrors: z.boolean().optional(),\n target: targetSchema.optional(),\n traceResolution: z.boolean().optional(),\n tsBuildInfoFile: z.string().optional(),\n typeRoots: z.string().array().optional(),\n types: z.string().array().optional(),\n useDefineForClassFields: z.boolean().optional(),\n useUnknownInCatchVariables: z.boolean().optional(),\n watch: z.boolean().optional(),\n watchDirectory: watchDirectory.optional(),\n watchFile: watchFileSchema.optional(),\n })\n .strict();\n\nlet typeAcquisitionSchema = z\n .object({\n enable: z.boolean().optional(),\n include: z.string().array().optional(),\n exclude: z.string().array().optional(),\n })\n .strict();\n\nlet referencesSchema = z\n .object({\n path: z.string(),\n\n originalPath: z.string().optional(),\n prepend: z.boolean().optional(),\n circular: z.boolean().optional(),\n })\n .strict();\n\nexport const tsconfigJsonSchema = z\n .object({\n compileOnSave: z.boolean().optional(),\n compilerOptions: compilerOptionsSchema.optional(),\n exclude: z.string().array().optional(),\n extends: z.string().optional(),\n files: z.string().array().optional(),\n include: z.string().array().optional(),\n references: referencesSchema.array().optional(),\n typeAcquisition: typeAcquisitionSchema.optional(),\n })\n .strict();\n\nexport type TsconfigJson = z.infer<typeof tsconfigJsonSchema>;\n"],
5
+ "mappings": "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",
6
+ "names": []
7
+ }
package/build/types.js ADDED
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ export * from "./types/Json.js";
3
+ export * from "./types/PackageJson.js";
4
+ export * from "./types/TsconfigJson.js";
5
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../source/types.ts"],
4
+ "sourcesContent": ["export * from './types/Json.js';\nexport * from './types/PackageJson.js';\nexport * from './types/TsconfigJson.js';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ export function is(value, schema) {
3
+ return schema.safeParse(value).success;
4
+ }
5
+ //# sourceMappingURL=is.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/is.ts"],
4
+ "sourcesContent": ["import {type z, type ZodTypeAny} from 'zod';\n\nexport function is<S extends ZodTypeAny>(value: unknown, schema: S): value is z.infer<S> {\n return schema.safeParse(value).success;\n}\n"],
5
+ "mappings": ";AAEO,gBAAS,GAAyB,OAAgB,QAAgC;AACvF,SAAO,OAAO,UAAU,KAAK,EAAE;AACjC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ import { packageJsonSchema } from "../types.js";
3
+ export function isPackageJson(value) {
4
+ return packageJsonSchema.safeParse(value).success;
5
+ }
6
+ //# sourceMappingURL=isPackageJson.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/isPackageJson.ts"],
4
+ "sourcesContent": ["import {type PackageJson, packageJsonSchema} from '../types.js';\n\nexport function isPackageJson(value: unknown): value is PackageJson {\n return packageJsonSchema.safeParse(value).success;\n}\n"],
5
+ "mappings": ";AAAA,SAA0B,yBAAwB;AAE3C,gBAAS,cAAc,OAAsC;AAClE,SAAO,kBAAkB,UAAU,KAAK,EAAE;AAC5C;",
6
+ "names": []
7
+ }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ import { tsconfigJsonSchema } from "../types.js";
3
+ export function isTsconfigJson(value) {
4
+ return tsconfigJsonSchema.safeParse(value).success;
5
+ }
6
+ //# sourceMappingURL=isTsconfigJson.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/isTsconfigJson.ts"],
4
+ "sourcesContent": ["import {type TsconfigJson, tsconfigJsonSchema} from '../types.js';\n\nexport function isTsconfigJson(value: unknown): value is TsconfigJson {\n return tsconfigJsonSchema.safeParse(value).success;\n}\n"],
5
+ "mappings": ";AAAA,SAA2B,0BAAyB;AAE7C,gBAAS,eAAe,OAAuC;AACpE,SAAO,mBAAmB,UAAU,KAAK,EAAE;AAC7C;",
6
+ "names": []
7
+ }
@@ -3,7 +3,7 @@
3
3
  import { type If } from '@jakubmazanec/ts-utils';
4
4
  import { type PathLike } from 'node:fs';
5
5
  import fs from 'node:fs/promises';
6
- import { type z, type ZodTypeAny, type ZodError } from 'zod';
6
+ import { type z, type ZodError, type ZodTypeAny } from 'zod';
7
7
  export interface ReadFileOptions {
8
8
  parser?: (rawString: string) => unknown;
9
9
  throwOnZodError?: boolean;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ import fs from "node:fs/promises";
3
+ export async function readFile(path, schema, options) {
4
+ let fileParser = options?.parser ?? JSON.parse;
5
+ let rawJson = fileParser(await fs.readFile(path, { encoding: "utf8" }));
6
+ if (options?.throwOnZodError) {
7
+ return schema.parse(rawJson);
8
+ }
9
+ let result = schema.safeParse(rawJson);
10
+ return result.success ? result.data : result.error;
11
+ }
12
+ //# sourceMappingURL=readFile.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/readFile.ts"],
4
+ "sourcesContent": ["import {type If} from '@jakubmazanec/ts-utils';\nimport {type PathLike} from 'node:fs';\nimport fs from 'node:fs/promises';\nimport {type z, type ZodError, type ZodTypeAny} from 'zod';\n\nexport interface ReadFileOptions {\n parser?: (rawString: string) => unknown;\n throwOnZodError?: boolean;\n}\n\nexport async function readFile<\n S extends ZodTypeAny,\n O extends ReadFileOptions | undefined = undefined,\n>(\n path: fs.FileHandle | PathLike,\n schema: S,\n options?: O,\n): Promise<\n O extends undefined ? z.infer<S> | ZodError<z.infer<S>>\n : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>\n>;\nexport async function readFile(\n path: fs.FileHandle | PathLike,\n schema: ZodTypeAny,\n options?: ReadFileOptions,\n) {\n let fileParser = options?.parser ?? JSON.parse;\n let rawJson = fileParser(await fs.readFile(path, {encoding: 'utf8'})) as unknown;\n\n if (options?.throwOnZodError) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above\n return schema.parse(rawJson);\n }\n\n let result = schema.safeParse(rawJson);\n\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above\n return result.success ? result.data : result.error;\n}\n"],
5
+ "mappings": ";AAEA,OAAO,QAAQ;AAmBf,sBAAsB,SACpB,MACA,QACA,SACA;AACA,MAAI,aAAa,SAAS,UAAU,KAAK;AACzC,MAAI,UAAU,WAAW,MAAM,GAAG,SAAS,MAAM,EAAC,UAAU,OAAM,CAAC,CAAC;AAEpE,MAAI,SAAS,iBAAiB;AAE5B,WAAO,OAAO,MAAM,OAAO;AAAA,EAC7B;AAEA,MAAI,SAAS,OAAO,UAAU,OAAO;AAGrC,SAAO,OAAO,UAAU,OAAO,OAAO,OAAO;AAC/C;",
6
+ "names": []
7
+ }
@@ -3,7 +3,7 @@
3
3
  import { type If } from '@jakubmazanec/ts-utils';
4
4
  import { type PathLike } from 'node:fs';
5
5
  import type fs from 'node:fs/promises';
6
- import { type z, type ZodTypeAny, type ZodError } from 'zod';
6
+ import { type z, type ZodError, type ZodTypeAny } from 'zod';
7
7
  export interface ReadJsonOptions {
8
8
  throwOnZodError?: boolean;
9
9
  }
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ import { readFile } from "./readFile.js";
3
+ export async function readJson(path, schema, options) {
4
+ return readFile(path, schema, options);
5
+ }
6
+ //# sourceMappingURL=readJson.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/readJson.ts"],
4
+ "sourcesContent": ["import {type If} from '@jakubmazanec/ts-utils';\nimport {type PathLike} from 'node:fs';\nimport type fs from 'node:fs/promises';\nimport {type z, type ZodError, type ZodTypeAny} from 'zod';\n\nimport {readFile} from './readFile.js';\n\nexport interface ReadJsonOptions {\n throwOnZodError?: boolean;\n}\n\nexport async function readJson<\n S extends ZodTypeAny,\n O extends ReadJsonOptions | undefined = undefined,\n>(\n path: fs.FileHandle | PathLike,\n schema: S,\n options?: O,\n): Promise<\n O extends undefined ? z.infer<S> | ZodError<z.infer<S>>\n : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>\n>;\nexport async function readJson(\n path: fs.FileHandle | PathLike,\n schema: ZodTypeAny,\n options?: ReadJsonOptions,\n) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return -- return type is actually defined via the function overload above\n return readFile(path, schema, options);\n}\n"],
5
+ "mappings": ";AAKA,SAAQ,gBAAe;AAiBvB,sBAAsB,SACpB,MACA,QACA,SACA;AAEA,SAAO,SAAS,MAAM,QAAQ,OAAO;AACvC;",
6
+ "names": []
7
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ import { packageJsonSchema } from "../types.js";
3
+ import { readFile } from "./readFile.js";
4
+ export async function readPackageJson(path, options) {
5
+ return readFile(path, packageJsonSchema, options);
6
+ }
7
+ //# sourceMappingURL=readPackageJson.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/readPackageJson.ts"],
4
+ "sourcesContent": ["import {type If} from '@jakubmazanec/ts-utils';\nimport {type PathLike} from 'node:fs';\nimport type fs from 'node:fs/promises';\nimport {type ZodError} from 'zod';\n\nimport {type PackageJson, packageJsonSchema} from '../types.js';\nimport {readFile} from './readFile.js';\n\nexport interface ReadPackageJsonOptions {\n throwOnZodError?: boolean;\n}\n\nexport async function readPackageJson<O extends ReadPackageJsonOptions | undefined = undefined>(\n path: fs.FileHandle | PathLike,\n options?: O,\n): Promise<\n O extends undefined ? PackageJson | ZodError<PackageJson>\n : If<NonNullable<O>['throwOnZodError'], true, PackageJson, PackageJson | ZodError<PackageJson>>\n>;\nexport async function readPackageJson(\n path: fs.FileHandle | PathLike,\n options?: ReadPackageJsonOptions,\n) {\n return readFile(path, packageJsonSchema, options);\n}\n"],
5
+ "mappings": ";AAKA,SAA0B,yBAAwB;AAClD,SAAQ,gBAAe;AAavB,sBAAsB,gBACpB,MACA,SACA;AACA,SAAO,SAAS,MAAM,mBAAmB,OAAO;AAClD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ import * as z from "zod";
3
+ function zodIssuePathToText(zodIssuePath) {
4
+ return zodIssuePath.length > 0 ? ` at path "${zodIssuePath.join(".")}"` : "";
5
+ }
6
+ function zodIssueToString(zodIssue) {
7
+ if (zodIssue.code === z.ZodIssueCode.invalid_type) {
8
+ return `Expected "${zodIssue.expected}" but received "${zodIssue.received}"${zodIssuePathToText(
9
+ zodIssue.path
10
+ )}`;
11
+ }
12
+ if (zodIssue.code === z.ZodIssueCode.unrecognized_keys) {
13
+ return `Unrecognized ${zodIssue.keys.length >= 2 ? "keys" : "key"} ${zodIssue.keys.map((key) => `"${key}"`).join(", ")}${zodIssuePathToText(zodIssue.path)}`;
14
+ }
15
+ if (zodIssue.code === z.ZodIssueCode.invalid_union) {
16
+ return `Invalid union: ${zodIssue.unionErrors.map(
17
+ (unionError) => unionError.issues.map((issue) => {
18
+ let zodIssueString = [...zodIssueToString(issue)];
19
+ zodIssueString[0] &&= zodIssueString[0].toLowerCase();
20
+ return zodIssueString.join("");
21
+ }).join(", ")
22
+ ).join("; ")}`;
23
+ }
24
+ if (zodIssue.code === z.ZodIssueCode.invalid_enum_value) {
25
+ return `Expected ${zodIssue.options.length === 1 ? `"${zodIssue.options[0]}"` : `${zodIssue.options.map((option) => `"${option}"`).slice(0, -1).join(", ")} or "${zodIssue.options.at(-1)}"`}${zodIssuePathToText(zodIssue.path)}`;
26
+ }
27
+ return `${zodIssue.message}${zodIssuePathToText(zodIssue.path)}`;
28
+ }
29
+ export function zodIssuesToStrings(zodIssues) {
30
+ return zodIssues.map((zodIssue) => zodIssueToString(zodIssue));
31
+ }
32
+ //# sourceMappingURL=zodIssuesToString.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../source/utils/zodIssuesToString.ts"],
4
+ "sourcesContent": ["import * as z from 'zod';\n\nfunction zodIssuePathToText(zodIssuePath: Array<number | string>): string {\n return zodIssuePath.length > 0 ? ` at path \"${zodIssuePath.join('.')}\"` : '';\n}\n\nfunction zodIssueToString(zodIssue: z.ZodIssue): string {\n if (zodIssue.code === z.ZodIssueCode.invalid_type) {\n return `Expected \"${zodIssue.expected}\" but received \"${zodIssue.received}\"${zodIssuePathToText(\n zodIssue.path,\n )}`;\n }\n\n if (zodIssue.code === z.ZodIssueCode.unrecognized_keys) {\n return `Unrecognized ${zodIssue.keys.length >= 2 ? 'keys' : 'key'} ${zodIssue.keys\n .map((key) => `\"${key}\"`)\n .join(', ')}${zodIssuePathToText(zodIssue.path)}`;\n }\n\n if (zodIssue.code === z.ZodIssueCode.invalid_union) {\n return `Invalid union: ${zodIssue.unionErrors\n .map((unionError) =>\n unionError.issues\n .map((issue) => {\n let zodIssueString = [...zodIssueToString(issue)];\n\n zodIssueString[0] &&= zodIssueString[0].toLowerCase();\n\n return zodIssueString.join('');\n })\n .join(', '),\n )\n .join('; ')}`;\n }\n\n if (zodIssue.code === z.ZodIssueCode.invalid_enum_value) {\n return `Expected ${\n zodIssue.options.length === 1 ?\n `\"${zodIssue.options[0]}\"`\n : `${zodIssue.options\n .map((option) => `\"${option}\"`)\n .slice(0, -1)\n .join(', ')} or \"${zodIssue.options.at(-1)}\"`\n }${zodIssuePathToText(zodIssue.path)}`;\n }\n\n return `${zodIssue.message}${zodIssuePathToText(zodIssue.path)}`;\n}\n\nexport function zodIssuesToStrings(zodIssues: z.ZodIssue[]): string[] {\n return zodIssues.map((zodIssue) => zodIssueToString(zodIssue));\n}\n"],
5
+ "mappings": ";AAAA,YAAY,OAAO;AAEnB,SAAS,mBAAmB,cAA8C;AACxE,SAAO,aAAa,SAAS,IAAI,aAAa,aAAa,KAAK,GAAG,CAAC,MAAM;AAC5E;AAEA,SAAS,iBAAiB,UAA8B;AACtD,MAAI,SAAS,SAAS,EAAE,aAAa,cAAc;AACjD,WAAO,aAAa,SAAS,QAAQ,mBAAmB,SAAS,QAAQ,IAAI;AAAA,MAC3E,SAAS;AAAA,IACX,CAAC;AAAA,EACH;AAEA,MAAI,SAAS,SAAS,EAAE,aAAa,mBAAmB;AACtD,WAAO,gBAAgB,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,IAAI,SAAS,KAC3E,IAAI,CAAC,QAAQ,IAAI,GAAG,GAAG,EACvB,KAAK,IAAI,CAAC,GAAG,mBAAmB,SAAS,IAAI,CAAC;AAAA,EACnD;AAEA,MAAI,SAAS,SAAS,EAAE,aAAa,eAAe;AAClD,WAAO,kBAAkB,SAAS,YAC/B;AAAA,MAAI,CAAC,eACJ,WAAW,OACR,IAAI,CAAC,UAAU;AACd,YAAI,iBAAiB,CAAC,GAAG,iBAAiB,KAAK,CAAC;AAEhD,uBAAe,CAAC,MAAM,eAAe,CAAC,EAAE,YAAY;AAEpD,eAAO,eAAe,KAAK,EAAE;AAAA,MAC/B,CAAC,EACA,KAAK,IAAI;AAAA,IACd,EACC,KAAK,IAAI,CAAC;AAAA,EACf;AAEA,MAAI,SAAS,SAAS,EAAE,aAAa,oBAAoB;AACvD,WAAO,YACL,SAAS,QAAQ,WAAW,IAC1B,IAAI,SAAS,QAAQ,CAAC,CAAC,MACvB,GAAG,SAAS,QACT,IAAI,CAAC,WAAW,IAAI,MAAM,GAAG,EAC7B,MAAM,GAAG,EAAE,EACX,KAAK,IAAI,CAAC,QAAQ,SAAS,QAAQ,GAAG,EAAE,CAAC,GAChD,GAAG,mBAAmB,SAAS,IAAI,CAAC;AAAA,EACtC;AAEA,SAAO,GAAG,SAAS,OAAO,GAAG,mBAAmB,SAAS,IAAI,CAAC;AAChE;AAEO,gBAAS,mBAAmB,WAAmC;AACpE,SAAO,UAAU,IAAI,CAAC,aAAa,iBAAiB,QAAQ,CAAC;AAC/D;",
6
+ "names": []
7
+ }
package/build/utils.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ export * from "./utils/is.js";
3
+ export * from "./utils/isPackageJson.js";
4
+ export * from "./utils/isTsconfigJson.js";
5
+ export * from "./utils/readFile.js";
6
+ export * from "./utils/readJson.js";
7
+ export * from "./utils/readPackageJson.js";
8
+ export * from "./utils/zodIssuesToString.js";
9
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../source/utils.ts"],
4
+ "sourcesContent": ["export * from './utils/is.js';\nexport * from './utils/isPackageJson.js';\nexport * from './utils/isTsconfigJson.js';\nexport * from './utils/readFile.js';\nexport * from './utils/readJson.js';\nexport * from './utils/readPackageJson.js';\nexport * from './utils/zodIssuesToString.js';\n"],
5
+ "mappings": ";AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;",
6
+ "names": []
7
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jakubmazanec/zod-utils",
3
- "version": "1.0.3-unstable.ee5adfc",
3
+ "version": "2.0.0-next.2fa8a2c",
4
4
  "description": "Collection of Zod schemas and utilities.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -11,33 +11,44 @@
11
11
  "author": "Jakub Mazanec <jakub@mazanec.dev>",
12
12
  "sideEffects": false,
13
13
  "type": "module",
14
- "exports": "./dist/main.js",
14
+ "exports": "./build/main.js",
15
15
  "files": [
16
- "dist",
17
- "src"
16
+ "build",
17
+ "source"
18
18
  ],
19
19
  "scripts": {
20
- "build": "swc src -d dist && tsc",
21
- "clean": "del-cli coverage dist *.tsbuildinfo",
22
- "document": "typedoc --options typedoc.config.cjs",
23
- "format": "prettier . --write --ignore-unknown --ignore-path ../../.prettierignore",
20
+ "build": "del-cli build tsconfig.tsbuildinfo && esbuild \"source/**/*\" --platform=node --target=node20.8 --outdir=build --sourcemap && tsc",
21
+ "clean": "del-cli coverage build *.tsbuildinfo",
22
+ "develop": "concurrently \"esbuild \"source/**/*\" --platform=node --target=node20.8 --outdir=build --sourcemap --watch\" \"tsc --watch\"",
23
+ "document": "del-cli docs && typedoc --options typedoc.config.cjs",
24
+ "format": "prettier . --write --ignore-unknown",
24
25
  "lint": "eslint .",
25
- "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --passWithNoTests",
26
+ "test": "del-cli coverage && vitest run --coverage --passWithNoTests",
26
27
  "typecheck": "tsc --project tsconfig.typecheck.json"
27
28
  },
28
29
  "dependencies": {
29
- "@jakubmazanec/ts-utils": "^2.1.0"
30
+ "@jakubmazanec/ts-utils": "3.0.0-next.2fa8a2c"
30
31
  },
31
32
  "devDependencies": {
32
- "@jest/globals": "^29.5.0",
33
- "@types/node": "^16.18.55",
34
- "zod": "^3.19.1"
33
+ "@types/node": "^20.8.5",
34
+ "@vitest/coverage-v8": "^1.2.2",
35
+ "concurrently": "^8.2.2",
36
+ "del-cli": "^5.1.0",
37
+ "esbuild": "^0.20.0",
38
+ "eslint": "^8.56.0",
39
+ "prettier": "^3.2.5",
40
+ "prettier-plugin-packagejson": "^2.4.10",
41
+ "typedoc": "^0.25.7",
42
+ "typedoc-plugin-markdown": "^3.17.1",
43
+ "typescript": "^5.3.3",
44
+ "vitest": "^1.2.2",
45
+ "zod": "^3.22.4"
35
46
  },
36
47
  "peerDependencies": {
37
48
  "zod": "^3.19.1"
38
49
  },
39
- "packageManager": "npm@8.19.4",
50
+ "packageManager": "npm@10.1.0",
40
51
  "engines": {
41
- "node": ">=16.20.0"
52
+ "node": "^20.8.0"
42
53
  }
43
54
  }
@@ -1,7 +1,7 @@
1
1
  import {type If} from '@jakubmazanec/ts-utils';
2
2
  import {type PathLike} from 'node:fs';
3
3
  import fs from 'node:fs/promises';
4
- import {type z, type ZodTypeAny, type ZodError} from 'zod';
4
+ import {type z, type ZodError, type ZodTypeAny} from 'zod';
5
5
 
6
6
  export interface ReadFileOptions {
7
7
  parser?: (rawString: string) => unknown;
@@ -16,9 +16,8 @@ export async function readFile<
16
16
  schema: S,
17
17
  options?: O,
18
18
  ): Promise<
19
- O extends undefined
20
- ? z.infer<S> | ZodError<z.infer<S>>
21
- : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>
19
+ O extends undefined ? z.infer<S> | ZodError<z.infer<S>>
20
+ : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>
22
21
  >;
23
22
  export async function readFile(
24
23
  path: fs.FileHandle | PathLike,
@@ -1,7 +1,7 @@
1
1
  import {type If} from '@jakubmazanec/ts-utils';
2
2
  import {type PathLike} from 'node:fs';
3
3
  import type fs from 'node:fs/promises';
4
- import {type z, type ZodTypeAny, type ZodError} from 'zod';
4
+ import {type z, type ZodError, type ZodTypeAny} from 'zod';
5
5
 
6
6
  import {readFile} from './readFile.js';
7
7
 
@@ -17,9 +17,8 @@ export async function readJson<
17
17
  schema: S,
18
18
  options?: O,
19
19
  ): Promise<
20
- O extends undefined
21
- ? z.infer<S> | ZodError<z.infer<S>>
22
- : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>
20
+ O extends undefined ? z.infer<S> | ZodError<z.infer<S>>
21
+ : If<NonNullable<O>['throwOnZodError'], true, z.infer<S>, z.infer<S> | ZodError<z.infer<S>>>
23
22
  >;
24
23
  export async function readJson(
25
24
  path: fs.FileHandle | PathLike,
@@ -14,9 +14,8 @@ export async function readPackageJson<O extends ReadPackageJsonOptions | undefin
14
14
  path: fs.FileHandle | PathLike,
15
15
  options?: O,
16
16
  ): Promise<
17
- O extends undefined
18
- ? PackageJson | ZodError<PackageJson>
19
- : If<NonNullable<O>['throwOnZodError'], true, PackageJson, PackageJson | ZodError<PackageJson>>
17
+ O extends undefined ? PackageJson | ZodError<PackageJson>
18
+ : If<NonNullable<O>['throwOnZodError'], true, PackageJson, PackageJson | ZodError<PackageJson>>
20
19
  >;
21
20
  export async function readPackageJson(
22
21
  path: fs.FileHandle | PathLike,
@@ -35,12 +35,12 @@ function zodIssueToString(zodIssue: z.ZodIssue): string {
35
35
 
36
36
  if (zodIssue.code === z.ZodIssueCode.invalid_enum_value) {
37
37
  return `Expected ${
38
- zodIssue.options.length === 1
39
- ? `"${zodIssue.options[0]}"`
40
- : `${zodIssue.options
41
- .map((option) => `"${option}"`)
42
- .slice(0, -1)
43
- .join(', ')} or "${zodIssue.options.at(-1)}"`
38
+ zodIssue.options.length === 1 ?
39
+ `"${zodIssue.options[0]}"`
40
+ : `${zodIssue.options
41
+ .map((option) => `"${option}"`)
42
+ .slice(0, -1)
43
+ .join(', ')} or "${zodIssue.options.at(-1)}"`
44
44
  }${zodIssuePathToText(zodIssue.path)}`;
45
45
  }
46
46
 
package/dist/main.js DELETED
@@ -1,4 +0,0 @@
1
- export * from './types.js';
2
- export * from './utils.js';
3
-
4
- //# sourceMappingURL=main.js.map
package/dist/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/main.ts"],"sourcesContent":["export * from './types.js';\nexport * from './utils.js';\n"],"names":[],"mappings":"AAAA,cAAc,aAAa;AAC3B,cAAc,aAAa"}
@@ -1,14 +0,0 @@
1
- import * as z from 'zod';
2
- const literalSchema = z.union([
3
- z.string(),
4
- z.number(),
5
- z.boolean(),
6
- z.null()
7
- ]);
8
- export const jsonSchema = z.lazy(()=>z.union([
9
- literalSchema,
10
- z.array(jsonSchema),
11
- z.record(jsonSchema)
12
- ]));
13
-
14
- //# sourceMappingURL=Json.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/types/Json.ts"],"sourcesContent":["import * as z from 'zod';\n\nconst literalSchema = z.union([z.string(), z.number(), z.boolean(), z.null()]);\n\ntype Literal = z.infer<typeof literalSchema>;\n\nexport const jsonSchema: z.ZodSchema<Json> = z.lazy(() =>\n z.union([literalSchema, z.array(jsonSchema), z.record(jsonSchema)]),\n);\n\nexport type Json = Json[] | Literal | {[key: string]: Json};\n"],"names":["z","literalSchema","union","string","number","boolean","null","jsonSchema","lazy","array","record"],"mappings":"AAAA,YAAYA,OAAO,MAAM;AAEzB,MAAMC,gBAAgBD,EAAEE,KAAK,CAAC;IAACF,EAAEG,MAAM;IAAIH,EAAEI,MAAM;IAAIJ,EAAEK,OAAO;IAAIL,EAAEM,IAAI;CAAG;AAI7E,OAAO,MAAMC,aAAgCP,EAAEQ,IAAI,CAAC,IAClDR,EAAEE,KAAK,CAAC;QAACD;QAAeD,EAAES,KAAK,CAACF;QAAaP,EAAEU,MAAM,CAACH;KAAY,GAClE"}