本文整理汇总了TypeScript中collection-utils.mapFromObject函数的典型用法代码示例。如果您正苦于以下问题:TypeScript mapFromObject函数的具体用法?TypeScript mapFromObject怎么用?TypeScript mapFromObject使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了mapFromObject函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: descriptionAttributeProducer
export function descriptionAttributeProducer(
schema: JSONSchema,
ref: Ref,
types: Set<JSONSchemaType>
): JSONSchemaAttributes | undefined {
if (!(typeof schema === "object")) return undefined;
let description = emptyTypeAttributes;
let propertyDescription = emptyTypeAttributes;
const pathLength = ref.path.length;
if (
types.has("object") ||
setSubtract(types, ["null"]).size > 1 ||
schema.enum !== undefined ||
pathLength < 2 ||
!isPropertiesKey(ref.path[pathLength - 2])
) {
const maybeDescription = schema.description;
if (typeof maybeDescription === "string") {
description = descriptionTypeAttributeKind.makeAttributes(new Set([maybeDescription]));
}
}
if (types.has("object") && typeof schema.properties === "object") {
const propertyDescriptions = mapFilterMap(mapFromObject<any>(schema.properties), propSchema => {
if (typeof propSchema === "object") {
const desc = propSchema.description;
if (typeof desc === "string") {
return new Set([desc]);
}
}
return undefined;
});
if (propertyDescriptions.size > 0) {
propertyDescription = propertyDescriptionsTypeAttributeKind.makeAttributes(propertyDescriptions);
}
}
return { forType: description, forObject: propertyDescription };
}
示例2: makeOptionDefinitions
function makeOptionDefinitions(targetLanguages: TargetLanguage[]): OptionDefinition[] {
const beforeLang: OptionDefinition[] = [
{
name: "out",
alias: "o",
type: String,
typeLabel: `FILE`,
description: "The output file. Determines --lang and --top-level."
},
{
name: "top-level",
alias: "t",
type: String,
typeLabel: "NAME",
description: "The name for the top level type."
}
];
const lang: OptionDefinition[] =
targetLanguages.length < 2
? []
: [
{
name: "lang",
alias: "l",
type: String,
typeLabel: makeLangTypeLabel(targetLanguages),
description: "The target language."
}
];
const afterLang: OptionDefinition[] = [
{
name: "src-lang",
alias: "s",
type: String,
defaultValue: undefined,
typeLabel: "json|schema|graphql|postman|typescript",
description: "The source language (default is json)."
},
{
name: "src",
type: String,
multiple: true,
defaultOption: true,
typeLabel: "FILE|URL|DIRECTORY",
description: "The file, url, or data directory to type."
},
{
name: "src-urls",
type: String,
typeLabel: "FILE",
description: "Tracery grammar describing URLs to crawl."
}
];
const inference: OptionDefinition[] = Array.from(
mapMap(mapFromObject(inferenceFlags), (flag, name) => {
return {
name: dashedFromCamelCase(negatedInferenceFlagName(name)),
type: Boolean,
description: flag.negationDescription + "."
};
}).values()
);
const afterInference: OptionDefinition[] = [
{
name: "graphql-schema",
type: String,
typeLabel: "FILE",
description: "GraphQL introspection file."
},
{
name: "graphql-introspect",
type: String,
typeLabel: "URL",
description: "Introspect GraphQL schema from a server."
},
{
name: "http-method",
type: String,
typeLabel: "METHOD",
description: "HTTP method to use for the GraphQL introspection query."
},
{
name: "http-header",
type: String,
multiple: true,
typeLabel: "HEADER",
description: "HTTP header for the GraphQL introspection query."
},
{
name: "additional-schema",
alias: "S",
type: String,
multiple: true,
typeLabel: "FILE",
description: "Register the $id's of additional JSON Schema files."
},
{
name: "no-render",
type: Boolean,
description: "Don't render output."
//.........这里部分代码省略.........
示例3: makeAccessorEntry
function makeAccessorEntry(ae: string | { [language: string]: string }): AccessorEntry {
if (typeof ae === "string") return ae;
return mapFromObject(ae);
}
示例4: makeAccessorNames
export function makeAccessorNames(x: any): AccessorNames {
// FIXME: Do proper error reporting
const stringMap = checkStringMap(x, isAccessorEntry);
return mapMap(mapFromObject(stringMap), makeAccessorEntry);
}
示例5: mapFromObject
* primitive type kinds they map to. Not all transformed string types map to
* primitive types. Date-time types, for example, stand on their own, but
* stringified integers map to integers.
*/
const transformedStringTypeTargetTypeKinds = {
date: { jsonSchema: "date", primitive: undefined },
time: { jsonSchema: "time", primitive: undefined },
"date-time": { jsonSchema: "date-time", primitive: undefined },
uuid: { jsonSchema: "uuid", primitive: undefined },
uri: { jsonSchema: "uri", primitive: undefined, attributesProducer: uriInferenceAttributesProducer },
"integer-string": { jsonSchema: "integer", primitive: "integer" } as TransformedStringTypeTargets,
"bool-string": { jsonSchema: "boolean", primitive: "bool" } as TransformedStringTypeTargets
};
export const transformedStringTypeTargetTypeKindsMap = mapFromObject(transformedStringTypeTargetTypeKinds as {
[kind: string]: TransformedStringTypeTargets;
});
export type TransformedStringTypeKind = keyof typeof transformedStringTypeTargetTypeKinds;
export type PrimitiveStringTypeKind = "string" | TransformedStringTypeKind;
export type PrimitiveNonStringTypeKind = "none" | "any" | "null" | "bool" | "integer" | "double";
export type PrimitiveTypeKind = PrimitiveNonStringTypeKind | PrimitiveStringTypeKind;
export type NamedTypeKind = "class" | "enum" | "union";
export type TypeKind = PrimitiveTypeKind | NamedTypeKind | "array" | "object" | "map" | "intersection";
export type ObjectTypeKind = "object" | "map" | "class";
export const transformedStringTypeKinds = new Set(
Object.getOwnPropertyNames(transformedStringTypeTargetTypeKinds)
) as ReadonlySet<TransformedStringTypeKind>;
export function isPrimitiveStringTypeKind(kind: string): kind is PrimitiveStringTypeKind {