@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.
- package/README.md +1 -1
- package/build/main.js +4 -0
- package/build/main.js.map +7 -0
- package/build/types/Json.js +7 -0
- package/build/types/Json.js.map +7 -0
- package/build/types/PackageJson.js +236 -0
- package/build/types/PackageJson.js.map +7 -0
- package/build/types/TsconfigJson.js +320 -0
- package/build/types/TsconfigJson.js.map +7 -0
- package/build/types.js +5 -0
- package/build/types.js.map +7 -0
- package/build/utils/is.js +5 -0
- package/build/utils/is.js.map +7 -0
- package/build/utils/isPackageJson.js +6 -0
- package/build/utils/isPackageJson.js.map +7 -0
- package/build/utils/isTsconfigJson.js +6 -0
- package/build/utils/isTsconfigJson.js.map +7 -0
- package/{dist → build}/utils/readFile.d.ts +1 -1
- package/build/utils/readFile.js +12 -0
- package/build/utils/readFile.js.map +7 -0
- package/{dist → build}/utils/readJson.d.ts +1 -1
- package/build/utils/readJson.js +6 -0
- package/build/utils/readJson.js.map +7 -0
- package/build/utils/readPackageJson.js +7 -0
- package/build/utils/readPackageJson.js.map +7 -0
- package/build/utils/zodIssuesToString.js +32 -0
- package/build/utils/zodIssuesToString.js.map +7 -0
- package/build/utils.js +9 -0
- package/build/utils.js.map +7 -0
- package/package.json +26 -15
- package/{src → source}/utils/readFile.ts +3 -4
- package/{src → source}/utils/readJson.ts +3 -4
- package/{src → source}/utils/readPackageJson.ts +2 -3
- package/{src → source}/utils/zodIssuesToString.ts +6 -6
- package/dist/main.js +0 -4
- package/dist/main.js.map +0 -1
- package/dist/types/Json.js +0 -14
- package/dist/types/Json.js.map +0 -1
- package/dist/types/PackageJson.js +0 -292
- package/dist/types/PackageJson.js.map +0 -1
- package/dist/types/TsconfigJson.js +0 -338
- package/dist/types/TsconfigJson.js.map +0 -1
- package/dist/types.js +0 -5
- package/dist/types.js.map +0 -1
- package/dist/utils/is.js +0 -5
- package/dist/utils/is.js.map +0 -1
- package/dist/utils/isPackageJson.js +0 -6
- package/dist/utils/isPackageJson.js.map +0 -1
- package/dist/utils/isTsconfigJson.js +0 -6
- package/dist/utils/isTsconfigJson.js.map +0 -1
- package/dist/utils/readFile.js +0 -16
- package/dist/utils/readFile.js.map +0 -1
- package/dist/utils/readJson.js +0 -7
- package/dist/utils/readJson.js.map +0 -1
- package/dist/utils/readPackageJson.js +0 -7
- package/dist/utils/readPackageJson.js.map +0 -1
- package/dist/utils/zodIssuesToString.js +0 -30
- package/dist/utils/zodIssuesToString.js.map +0 -1
- package/dist/utils.js +0 -9
- package/dist/utils.js.map +0 -1
- /package/{dist → build}/main.d.ts +0 -0
- /package/{dist → build}/types/Json.d.ts +0 -0
- /package/{dist → build}/types/PackageJson.d.ts +0 -0
- /package/{dist → build}/types/TsconfigJson.d.ts +0 -0
- /package/{dist → build}/types.d.ts +0 -0
- /package/{dist → build}/utils/is.d.ts +0 -0
- /package/{dist → build}/utils/isPackageJson.d.ts +0 -0
- /package/{dist → build}/utils/isTsconfigJson.d.ts +0 -0
- /package/{dist → build}/utils/readPackageJson.d.ts +0 -0
- /package/{dist → build}/utils/zodIssuesToString.d.ts +0 -0
- /package/{dist → build}/utils.d.ts +0 -0
- /package/{src → source}/main.ts +0 -0
- /package/{src → source}/types/Json.ts +0 -0
- /package/{src → source}/types/PackageJson.ts +0 -0
- /package/{src → source}/types/TsconfigJson.ts +0 -0
- /package/{src → source}/types.ts +0 -0
- /package/{src → source}/utils/is.ts +0 -0
- /package/{src → source}/utils/isPackageJson.ts +0 -0
- /package/{src → source}/utils/isTsconfigJson.ts +0 -0
- /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": ";AAAA,YAAY,OAAO;AAEnB,IAAI,YAAY,EAAE,KAAK,CAAC,YAAY,SAAS,aAAa,gBAAgB,cAAc,CAAC;AAEzF,IAAI,eAAe,EAAE,KAAK;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAI,gBAAgB,EAAE,KAAK,CAAC,QAAQ,MAAM,QAAQ,IAAI,CAAC;AAEvD,IAAI,eAAe,EAAE,KAAK;AAAA,EACxB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAI,YAAY,EAAE,KAAK;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAI,eAAe,EAChB,OAAO;AAAA,EACN,MAAM,EAAE,OAAO,EAAE,SAAS;AAC5B,CAAC,EACA,OAAO,EACP,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;AAE5B,IAAI,+BAA+B,EAAE,KAAK,CAAC,UAAU,YAAY,OAAO,CAAC;AAEzE,IAAI,wBAAwB,EAAE,KAAK;AAAA,EACjC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAI,iBAAiB,EAAE,KAAK;AAAA,EAC1B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAI,kBAAkB,EAAE,KAAK;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,CAAC;AAED,IAAI,wBAAwB,EACzB,OAAO;AAAA,EACN,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,8BAA8B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnD,sBAAsB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC3C,sBAAsB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC3C,mBAAmB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACxC,cAAc,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,2CAA2C,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChE,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,aAAa,EAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,gBAAgB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,aAAa,EAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,8BAA8B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnD,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,0BAA0B,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/C,yCAAyC,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9D,oBAAoB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,uBAAuB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,iBAAiB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,4BAA4B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACjD,wBAAwB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7C,cAAc,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,iBAAiB,sBAAsB,SAAS;AAAA,EAChD,kCAAkC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvD,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,EACxC,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,wBAAwB,6BAA6B,SAAS;AAAA,EAC9D,aAAa,EAAE,QAAQ,EAAE,SAAS;AAAA,EAClC,iBAAiB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,iBAAiB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,KAAK,UAAU,SAAS;AAAA,EACxB,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,oBAAoB,EAAE,OAAO,EAAE,SAAS;AAAA,EACxC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,KAAK,UAAU,MAAM,EAAE,SAAS;AAAA,EAChC,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,sBAAsB,EAAE,OAAO,EAAE,SAAS;AAAA,EAC1C,QAAQ,aAAa,SAAS;AAAA,EAC9B,kBAAkB,EAAE,KAAK,CAAC,WAAW,MAAM,CAAC,EAAE,SAAS;AAAA,EACvD,SAAS,cAAc,SAAS;AAAA,EAChC,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,mBAAmB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACxC,4BAA4B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACjD,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,oBAAoB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,mBAAmB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACxC,gBAAgB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,OAAO,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC5B,oCAAoC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACzD,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,uBAAuB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC5C,0BAA0B,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC/C,gBAAgB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,oBAAoB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,QAAQ,EAAE,OAAO,EAAE,SAAS;AAAA,EAC5B,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,SAAS;AAAA,EAC7C,SAAS,aAAa,MAAM,EAAE,SAAS;AAAA,EACvC,oBAAoB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACzC,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,gBAAgB,EAAE,OAAO,EAAE,SAAS;AAAA,EACpC,gBAAgB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACrC,mBAAmB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACxC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACtC,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,cAAc,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnC,WAAW,EAAE,QAAQ,EAAE,SAAS;AAAA,EAChC,YAAY,EAAE,OAAO,EAAE,SAAS;AAAA,EAChC,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,qBAAqB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC1C,kBAAkB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACvC,8BAA8B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnD,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,8BAA8B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACnD,gCAAgC,EAAE,QAAQ,EAAE,SAAS;AAAA,EACrD,QAAQ,aAAa,SAAS;AAAA,EAC9B,iBAAiB,EAAE,QAAQ,EAAE,SAAS;AAAA,EACtC,iBAAiB,EAAE,OAAO,EAAE,SAAS;AAAA,EACrC,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACvC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACnC,yBAAyB,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9C,4BAA4B,EAAE,QAAQ,EAAE,SAAS;AAAA,EACjD,OAAO,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC5B,gBAAgB,eAAe,SAAS;AAAA,EACxC,WAAW,gBAAgB,SAAS;AACtC,CAAC,EACA,OAAO;AAEV,IAAI,wBAAwB,EACzB,OAAO;AAAA,EACN,QAAQ,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC7B,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACrC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AACvC,CAAC,EACA,OAAO;AAEV,IAAI,mBAAmB,EACpB,OAAO;AAAA,EACN,MAAM,EAAE,OAAO;AAAA,EAEf,cAAc,EAAE,OAAO,EAAE,SAAS;AAAA,EAClC,SAAS,EAAE,QAAQ,EAAE,SAAS;AAAA,EAC9B,UAAU,EAAE,QAAQ,EAAE,SAAS;AACjC,CAAC,EACA,OAAO;AAEH,aAAM,qBAAqB,EAC/B,OAAO;AAAA,EACN,eAAe,EAAE,QAAQ,EAAE,SAAS;AAAA,EACpC,iBAAiB,sBAAsB,SAAS;AAAA,EAChD,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACrC,SAAS,EAAE,OAAO,EAAE,SAAS;AAAA,EAC7B,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACnC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS;AAAA,EACrC,YAAY,iBAAiB,MAAM,EAAE,SAAS;AAAA,EAC9C,iBAAiB,sBAAsB,SAAS;AAClD,CAAC,EACA,OAAO;",
|
|
6
|
+
"names": []
|
|
7
|
+
}
|
package/build/types.js
ADDED
|
@@ -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,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,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
|
|
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
|
|
6
|
+
import { type z, type ZodError, type ZodTypeAny } from 'zod';
|
|
7
7
|
export interface ReadJsonOptions {
|
|
8
8
|
throwOnZodError?: boolean;
|
|
9
9
|
}
|
|
@@ -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": "
|
|
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": "./
|
|
14
|
+
"exports": "./build/main.js",
|
|
15
15
|
"files": [
|
|
16
|
-
"
|
|
17
|
-
"
|
|
16
|
+
"build",
|
|
17
|
+
"source"
|
|
18
18
|
],
|
|
19
19
|
"scripts": {
|
|
20
|
-
"build": "
|
|
21
|
-
"clean": "del-cli coverage
|
|
22
|
-
"
|
|
23
|
-
"
|
|
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": "
|
|
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": "
|
|
30
|
+
"@jakubmazanec/ts-utils": "3.0.0-next.2fa8a2c"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
|
-
"@
|
|
33
|
-
"@
|
|
34
|
-
"
|
|
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@
|
|
50
|
+
"packageManager": "npm@10.1.0",
|
|
40
51
|
"engines": {
|
|
41
|
-
"node": "
|
|
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
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
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"}
|
package/dist/types/Json.js
DELETED
|
@@ -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
|
package/dist/types/Json.js.map
DELETED
|
@@ -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"}
|