UNPKG

renovate

Version:

Automated dependency updates. Flexible so you don't need to be.

153 lines 4.9 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.AllFragments = exports.AttributeFragment = exports.ExtensionTagFragment = exports.PreparedExtensionTagFragment = exports.RuleFragment = exports.StringArrayFragment = exports.ArrayFragment = exports.BooleanFragment = exports.StringFragment = void 0; exports.string = string; exports.boolean = boolean; exports.rule = rule; exports.preparedExtensionTag = preparedExtensionTag; exports.extensionTag = extensionTag; exports.attribute = attribute; exports.array = array; exports.isValue = isValue; exports.isPrimitive = isPrimitive; const tslib_1 = require("tslib"); const zod_1 = require("zod"); const schema_utils_1 = require("../../../../util/schema-utils"); const starlark = tslib_1.__importStar(require("./starlark")); exports.StringFragment = zod_1.z.object({ type: zod_1.z.literal('string'), value: zod_1.z.string(), isComplete: zod_1.z.literal(true), }); exports.BooleanFragment = zod_1.z.object({ type: zod_1.z.literal('boolean'), value: zod_1.z.boolean(), isComplete: zod_1.z.literal(true), }); const PrimitiveFragments = zod_1.z.discriminatedUnion('type', [ exports.StringFragment, exports.BooleanFragment, ]); exports.ArrayFragment = zod_1.z.object({ type: zod_1.z.literal('array'), items: (0, schema_utils_1.LooseArray)(PrimitiveFragments), isComplete: zod_1.z.boolean(), }); exports.StringArrayFragment = zod_1.z.object({ type: zod_1.z.literal('array'), items: (0, schema_utils_1.LooseArray)(exports.StringFragment), isComplete: zod_1.z.boolean(), }); const ValueFragments = zod_1.z.discriminatedUnion('type', [ exports.StringFragment, exports.BooleanFragment, exports.ArrayFragment, ]); exports.RuleFragment = zod_1.z.object({ type: zod_1.z.literal('rule'), rule: zod_1.z.string(), children: (0, schema_utils_1.LooseRecord)(ValueFragments), isComplete: zod_1.z.boolean(), }); exports.PreparedExtensionTagFragment = zod_1.z.object({ type: zod_1.z.literal('preparedExtensionTag'), // See ExtensionTagFragment for documentation of the fields. extension: zod_1.z.string(), rawExtension: zod_1.z.string(), offset: zod_1.z.number(), // start offset in the source string isComplete: zod_1.z.literal(false), // never complete, parser internal type. }); exports.ExtensionTagFragment = zod_1.z.object({ type: zod_1.z.literal('extensionTag'), // The "logical" name of the extension (e.g. `oci` or `maven`). extension: zod_1.z.string(), // The "raw" name of the extension as it appears in the MODULE file (e.g. `maven_01` or `maven`) rawExtension: zod_1.z.string(), tag: zod_1.z.string(), children: (0, schema_utils_1.LooseRecord)(ValueFragments), isComplete: zod_1.z.boolean(), offset: zod_1.z.number(), // start offset in the source string rawString: zod_1.z.string().optional(), // raw source string }); exports.AttributeFragment = zod_1.z.object({ type: zod_1.z.literal('attribute'), name: zod_1.z.string(), value: ValueFragments.optional(), isComplete: zod_1.z.boolean(), }); exports.AllFragments = zod_1.z.discriminatedUnion('type', [ exports.ArrayFragment, exports.AttributeFragment, exports.BooleanFragment, exports.RuleFragment, exports.PreparedExtensionTagFragment, exports.ExtensionTagFragment, exports.StringFragment, ]); function string(value) { return { type: 'string', isComplete: true, value, }; } function boolean(value) { return { type: 'boolean', isComplete: true, value: typeof value === 'string' ? starlark.asBoolean(value) : value, }; } function rule(rule, children = {}, isComplete = false) { return { type: 'rule', rule, isComplete, children, }; } function preparedExtensionTag(extension, rawExtension, offset) { return { type: 'preparedExtensionTag', extension, rawExtension, offset, isComplete: false, // never complete }; } function extensionTag(extension, rawExtension, tag, offset, children = {}, rawString, isComplete = false) { return { type: 'extensionTag', extension, rawExtension, tag, offset, rawString, isComplete, children, }; } function attribute(name, value, isComplete = false) { return { type: 'attribute', name, value, isComplete, }; } function array(items = [], isComplete = false) { return { type: 'array', items, isComplete, }; } function isValue(data) { const result = ValueFragments.safeParse(data); return result.success; } function isPrimitive(data) { const result = PrimitiveFragments.safeParse(data); return result.success; } //# sourceMappingURL=fragments.js.map