UNPKG

@salesforce/core

Version:

Core libraries to interact with SFDX projects, orgs, and APIs.

57 lines 2.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.MetadataRegistrySchema = void 0; /* * Copyright (c) 2023, salesforce.com, inc. * All rights reserved. * Licensed under the BSD 3-Clause license. * For full license text, see LICENSE.txt file in the repo root or https://opensource.org/licenses/BSD-3-Clause */ const zod_1 = require("zod"); const SuffixIndexSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.string()); const DirectoryIndexSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.string()); /** * TypeInfoSchema has a circular reference (children.types references TypeIndexSchema, * which references TypeInfoSchema). We use z.lazy() to defer schema evaluation until * runtime to avoid "Cannot access before initialization" errors. z.ZodType<T> provides * an explicit type annotation since TypeScript can't infer recursive types properly. */ const TypeInfoSchema = zod_1.z.lazy(() => zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), directoryName: zod_1.z.string(), suffix: zod_1.z.string().optional(), strictDirectoryName: zod_1.z.boolean().optional(), ignoreParsedFullName: zod_1.z.boolean().optional(), folderContentType: zod_1.z.string().optional(), folderType: zod_1.z.string().optional(), xmlElementName: zod_1.z.string().optional(), uniqueIdElement: zod_1.z.string().optional(), isAddressable: zod_1.z.boolean().optional(), unaddressableWithoutParent: zod_1.z.boolean().optional(), supportsWildcardAndName: zod_1.z.boolean().optional(), supportsPartialDelete: zod_1.z.boolean().optional(), aliasFor: zod_1.z.string().optional(), children: zod_1.z .object({ types: TypeIndexSchema, suffixes: SuffixIndexSchema, directories: DirectoryIndexSchema.optional(), }) .optional(), strategies: zod_1.z .object({ adapter: zod_1.z.enum(['mixedContent', 'matchingContentFile', 'decomposed', 'bundle', 'default']), transformer: zod_1.z.enum(['decomposed', 'staticResource', 'standard']).optional(), decomposition: zod_1.z.enum(['topLevel', 'folderPerType']).optional(), }) .optional(), })); const TypeIndexSchema = zod_1.z.lazy(() => zod_1.z.record(zod_1.z.string(), TypeInfoSchema)); exports.MetadataRegistrySchema = zod_1.z.object({ types: TypeIndexSchema, suffixes: SuffixIndexSchema, strictDirectoryNames: zod_1.z.record(zod_1.z.string(), zod_1.z.string()), childTypes: zod_1.z.record(zod_1.z.string(), zod_1.z.string()), }); //# sourceMappingURL=registryVariants.js.map