typia
Version:
Superfast runtime validators with only one line
22 lines (18 loc) • 512 B
text/typescript
import { Metadata } from "../../schemas/metadata/Metadata";
import { PatternUtil } from "../../utils/PatternUtil";
import { metadata_to_pattern } from "./metadata_to_pattern";
/** @internal */
export const template_to_pattern = (props: {
top: boolean;
template: Metadata[];
}) => {
const pattern: string = props.template
.map((meta) =>
metadata_to_pattern({
top: false,
metadata: meta,
}),
)
.join("");
return props.top ? PatternUtil.fix(pattern) : pattern;
};