@api-components/amf-helper-mixin
Version:
A mixin with common functions user by most AMF components to compute AMF values
380 lines (375 loc) • 22 kB
JavaScript
/**
* A namespace for AMF properties.
* @type {Object}
*/
export const ns = {};
// RAML namespace
ns.aml = {};
ns.raml = ns.aml;
ns.aml.key = "http://a.ml/";
ns.aml.vocabularies = {};
ns.aml.vocabularies.key = `${ns.aml.key}vocabularies/`;
ns.aml.vocabularies.document = {};
ns.aml.vocabularies.document.key = `${ns.aml.vocabularies.key}document#`;
const docKey = ns.aml.vocabularies.document.key;
ns.aml.vocabularies.document.toString = () => docKey;
ns.aml.vocabularies.document.Module = `${docKey}Module`;
ns.aml.vocabularies.document.Document = `${docKey}Document`;
ns.aml.vocabularies.document.SecuritySchemeFragment = `${docKey}SecuritySchemeFragment`;
ns.aml.vocabularies.document.UserDocumentation = `${docKey}UserDocumentation`;
ns.aml.vocabularies.document.DataType = `${docKey}DataType`;
// ns.aml.vocabularies.document.Example = docKey + 'Example';
ns.aml.vocabularies.document.NamedExamples = `${docKey}NamedExamples`;
ns.aml.vocabularies.document.DomainElement = `${docKey}DomainElement`;
ns.aml.vocabularies.document.ParametrizedDeclaration = `${docKey}ParametrizedDeclaration`;
// ns.aml.vocabularies.document.ParametrizedResourceType = docKey + 'ParametrizedResourceType';
// ns.aml.vocabularies.document.ParametrizedTrait = docKey + 'ParametrizedTrait';
ns.aml.vocabularies.document.ExternalDomainElement = `${docKey}ExternalDomainElement`;
ns.aml.vocabularies.document.customDomainProperties = `${docKey}customDomainProperties`;
ns.aml.vocabularies.document.encodes = `${docKey}encodes`;
ns.aml.vocabularies.document.declares = `${docKey}declares`;
ns.aml.vocabularies.document.references = `${docKey}references`;
ns.aml.vocabularies.document.examples = `${docKey}examples`;
ns.aml.vocabularies.document.linkTarget = `${docKey}link-target`;
ns.aml.vocabularies.document.linkLabel = `${docKey}link-label`;
ns.aml.vocabularies.document.referenceId = `${docKey}reference-id`;
ns.aml.vocabularies.document.structuredValue = `${docKey}structuredValue`;
ns.aml.vocabularies.document.raw = `${docKey}raw`;
ns.aml.vocabularies.document.extends = `${docKey}extends`;
ns.aml.vocabularies.document.value = `${docKey}value`;
ns.aml.vocabularies.document.name = `${docKey}name`;
ns.aml.vocabularies.document.strict = `${docKey}strict`;
ns.aml.vocabularies.document.deprecated = `${docKey}deprecated`;
ns.aml.vocabularies.document.location = `${docKey}location`;
ns.aml.vocabularies.document.variable = `${docKey}variable`;
ns.aml.vocabularies.document.target = `${docKey}target`;
ns.aml.vocabularies.document.dataNode = `${docKey}dataNode`;
ns.aml.vocabularies.document.root = `${docKey}root`;
ns.aml.vocabularies.document.usage = `${docKey}usage`;
ns.aml.vocabularies.document.version = `${docKey}version`;
ns.aml.vocabularies.core = {};
ns.aml.vocabularies.core.key = `${ns.aml.vocabularies.key}core#`;
const coreKey = ns.aml.vocabularies.core.key;
ns.aml.vocabularies.core.toString = () => coreKey;
ns.aml.vocabularies.core.CreativeWork = `${coreKey}CreativeWork`;
ns.aml.vocabularies.core.version = `${coreKey}version`;
ns.aml.vocabularies.core.urlTemplate = `${coreKey}urlTemplate`;
ns.aml.vocabularies.core.displayName = `${coreKey}displayName`;
ns.aml.vocabularies.core.title = `${coreKey}title`;
ns.aml.vocabularies.core.name = `${coreKey}name`;
ns.aml.vocabularies.core.description = `${coreKey}description`;
ns.aml.vocabularies.core.documentation = `${coreKey}documentation`;
ns.aml.vocabularies.core.summary = `${coreKey}summary`;
ns.aml.vocabularies.core.provider = `${coreKey}provider`;
ns.aml.vocabularies.core.email = `${coreKey}email`;
ns.aml.vocabularies.core.url = `${coreKey}url`;
ns.aml.vocabularies.core.termsOfService = `${coreKey}termsOfService`;
ns.aml.vocabularies.core.license = `${coreKey}license`;
ns.aml.vocabularies.core.mediaType = `${coreKey}mediaType`;
ns.aml.vocabularies.core.extensionName = `${coreKey}extensionName`;
ns.aml.vocabularies.core.extensionName = `${coreKey}extensionName`;
ns.aml.vocabularies.core.deprecated = `${coreKey}deprecated`;
// gRPC specific properties
ns.aml.vocabularies.core.grpcStreamType = `${coreKey}grpcStreamType`;
ns.aml.vocabularies.security = {};
ns.aml.vocabularies.security.key = `${ns.aml.vocabularies.key}security#`;
const secKey = ns.aml.vocabularies.security.key;
ns.aml.vocabularies.security.toString = () => secKey;
ns.aml.vocabularies.security.ParametrizedSecurityScheme = `${secKey}ParametrizedSecurityScheme`;
ns.aml.vocabularies.security.SecuritySchemeFragment = `${secKey}SecuritySchemeFragment`;
ns.aml.vocabularies.security.SecurityScheme = `${secKey}SecurityScheme`;
ns.aml.vocabularies.security.OAuth1Settings = `${secKey}OAuth1Settings`;
ns.aml.vocabularies.security.OAuth2Settings = `${secKey}OAuth2Settings`;
ns.aml.vocabularies.security.OAuth2Flow = `${secKey}OAuth2Flow`;
ns.aml.vocabularies.security.Scope = `${secKey}Scope`;
ns.aml.vocabularies.security.Settings = `${secKey}Settings`;
ns.aml.vocabularies.security.HttpSettings = `${secKey}HttpSettings`;
ns.aml.vocabularies.security.ApiKeySettings = `${secKey}ApiKeySettings`;
ns.aml.vocabularies.security.OpenIdConnectSettings = `${secKey}OpenIdConnectSettings`;
ns.aml.vocabularies.security.security = `${secKey}security`;
ns.aml.vocabularies.security.scheme = `${secKey}scheme`;
ns.aml.vocabularies.security.schemes = `${secKey}schemes`;
ns.aml.vocabularies.security.settings = `${secKey}settings`;
ns.aml.vocabularies.security.name = `${secKey}name`;
ns.aml.vocabularies.security.type = `${secKey}type`;
ns.aml.vocabularies.security.scope = `${secKey}scope`;
ns.aml.vocabularies.security.accessTokenUri = `${secKey}accessTokenUri`;
ns.aml.vocabularies.security.authorizationUri = `${secKey}authorizationUri`;
ns.aml.vocabularies.security.authorizationGrant = `${secKey}authorizationGrant`;
ns.aml.vocabularies.security.flows = `${secKey}flows`;
ns.aml.vocabularies.security.flow = `${secKey}flow`;
ns.aml.vocabularies.security.signature = `${secKey}signature`;
ns.aml.vocabularies.security.tokenCredentialsUri = `${secKey}tokenCredentialsUri`;
ns.aml.vocabularies.security.requestTokenUri = `${secKey}requestTokenUri`;
ns.aml.vocabularies.security.refreshUri = `${secKey}refreshUri`;
ns.aml.vocabularies.security.securityRequirement = `${secKey}SecurityRequirement`;
ns.aml.vocabularies.security.openIdConnectUrl = `${secKey}openIdConnectUrl`;
ns.aml.vocabularies.security.bearerFormat = `${secKey}bearerFormat`;
ns.aml.vocabularies.security.in = `${secKey}in`;
ns.aml.vocabularies.apiContract = {};
ns.aml.vocabularies.http = ns.aml.vocabularies.apiContract;
ns.aml.vocabularies.apiContract.key = `${ns.aml.vocabularies.key}apiContract#`;
const contractKey = ns.aml.vocabularies.apiContract.key;
ns.aml.vocabularies.apiBinding = {};
ns.aml.vocabularies.apiBinding.key = `${ns.aml.vocabularies.key}apiBinding#`;
ns.aml.vocabularies.apiBinding.binding = `${ns.aml.vocabularies.apiBinding.key}binding`;
ns.aml.vocabularies.apiBinding.bindings = `${ns.aml.vocabularies.apiBinding.key}bindings`;
ns.aml.vocabularies.apiBinding.messageKey = `${ns.aml.vocabularies.apiBinding.key}messageKey`;
ns.aml.vocabularies.apiBinding.type = `${ns.aml.vocabularies.apiBinding.key}type`;
ns.aml.vocabularies.apiContract.toString = () => contractKey;
ns.aml.vocabularies.apiContract.Payload = `${contractKey}Payload`;
ns.aml.vocabularies.apiContract.Request = `${contractKey}Request`;
ns.aml.vocabularies.apiContract.Response = `${contractKey}Response`;
ns.aml.vocabularies.apiContract.EndPoint = `${contractKey}EndPoint`;
ns.aml.vocabularies.apiContract.Parameter = `${contractKey}Parameter`;
ns.aml.vocabularies.apiContract.Operation = `${contractKey}Operation`;
ns.aml.vocabularies.apiContract.WebAPI = `${contractKey}WebAPI`;
ns.aml.vocabularies.apiContract.API = `${contractKey}API`;
ns.aml.vocabularies.apiContract.AsyncAPI = `${contractKey}AsyncAPI`;
ns.aml.vocabularies.apiContract.UserDocumentationFragment = `${contractKey}UserDocumentationFragment`;
ns.aml.vocabularies.apiContract.Example = `${contractKey}Example`;
ns.aml.vocabularies.apiContract.Server = `${contractKey}Server`;
ns.aml.vocabularies.apiContract.ParametrizedResourceType = `${contractKey}ParametrizedResourceType`;
ns.aml.vocabularies.apiContract.ParametrizedTrait = `${contractKey}ParametrizedTrait`;
ns.aml.vocabularies.apiContract.Callback = `${contractKey}Callback`;
ns.aml.vocabularies.apiContract.TemplatedLink = `${contractKey}TemplatedLink`;
ns.aml.vocabularies.apiContract.IriTemplateMapping = `${contractKey}IriTemplateMapping`;
ns.aml.vocabularies.apiContract.Tag = `${contractKey}Tag`;
ns.aml.vocabularies.apiContract.header = `${contractKey}header`;
ns.aml.vocabularies.apiContract.parameter = `${contractKey}parameter`;
ns.aml.vocabularies.apiContract.paramName = `${contractKey}paramName`;
ns.aml.vocabularies.apiContract.uriParameter = `${contractKey}uriParameter`;
ns.aml.vocabularies.apiContract.cookieParameter = `${contractKey}cookieParameter`;
ns.aml.vocabularies.apiContract.variable = `${contractKey}variable`;
ns.aml.vocabularies.apiContract.payload = `${contractKey}payload`;
ns.aml.vocabularies.apiContract.server = `${contractKey}server`;
ns.aml.vocabularies.apiContract.path = `${contractKey}path`;
ns.aml.vocabularies.apiContract.url = `${contractKey}url`;
ns.aml.vocabularies.apiContract.scheme = `${contractKey}scheme`;
ns.aml.vocabularies.apiContract.endpoint = `${contractKey}endpoint`;
ns.aml.vocabularies.apiContract.queryString = `${contractKey}queryString`;
ns.aml.vocabularies.apiContract.schemaMediaType = `${contractKey}schemaMediaType`;
// ns.aml.vocabularies.apiContract.mediaType = contractKey + 'mediaType';
ns.aml.vocabularies.apiContract.accepts = `${contractKey}accepts`;
ns.aml.vocabularies.apiContract.guiSummary = `${contractKey}guiSummary`;
ns.aml.vocabularies.apiContract.binding = `${contractKey}binding`;
ns.aml.vocabularies.apiContract.response = `${contractKey}response`;
ns.aml.vocabularies.apiContract.returns = `${contractKey}returns`;
ns.aml.vocabularies.apiContract.expects = `${contractKey}expects`;
ns.aml.vocabularies.apiContract.examples = `${contractKey}examples`;
ns.aml.vocabularies.apiContract.messageId = `${contractKey}messageId`;
ns.aml.vocabularies.apiContract.supportedOperation = `${contractKey}supportedOperation`;
ns.aml.vocabularies.apiContract.statusCode = `${contractKey}statusCode`;
ns.aml.vocabularies.apiContract.method = `${contractKey}method`;
ns.aml.vocabularies.apiContract.required = `${contractKey}required`;
ns.aml.vocabularies.apiContract.callback = `${contractKey}callback`;
ns.aml.vocabularies.apiContract.expression = `${contractKey}expression`;
ns.aml.vocabularies.apiContract.link = `${contractKey}link`;
ns.aml.vocabularies.apiContract.linkExpression = `${contractKey}linkExpression`;
ns.aml.vocabularies.apiContract.templateVariable = `${contractKey}templateVariable`;
ns.aml.vocabularies.apiContract.mapping = `${contractKey}mapping`;
ns.aml.vocabularies.apiContract.operationId = `${contractKey}operationId`;
ns.aml.vocabularies.apiContract.protocol = `${contractKey}protocol`;
ns.aml.vocabularies.apiContract.protocolVersion = `${contractKey}protocolVersion`;
ns.aml.vocabularies.apiContract.Message = `${contractKey}Message`;
ns.aml.vocabularies.apiContract.headerSchema = `${contractKey}headerSchema`;
ns.aml.vocabularies.apiContract.contentType = `${contractKey}contentType`;
ns.aml.vocabularies.apiContract.allowEmptyValue = `${contractKey}allowEmptyValue`;
ns.aml.vocabularies.apiContract.style = `${contractKey}style`;
ns.aml.vocabularies.apiContract.explode = `${contractKey}explode`;
ns.aml.vocabularies.apiContract.allowReserved = `${contractKey}allowReserved`;
ns.aml.vocabularies.apiContract.tag = `${contractKey}tag`;
ns.aml.vocabularies.apiContract.tags = `${contractKey}tags`;
ns.aml.vocabularies.shapes = {};
ns.aml.vocabularies.shapes.key = `${ns.aml.vocabularies.key}shapes#`;
const shapesKey = ns.aml.vocabularies.shapes.key;
ns.aml.vocabularies.shapes.toString = () => shapesKey;
ns.aml.vocabularies.shapes.ScalarShape = `${shapesKey}ScalarShape`;
ns.aml.vocabularies.shapes.ArrayShape = `${shapesKey}ArrayShape`;
ns.aml.vocabularies.shapes.UnionShape = `${shapesKey}UnionShape`;
ns.aml.vocabularies.shapes.NilShape = `${shapesKey}NilShape`;
ns.aml.vocabularies.shapes.FileShape = `${shapesKey}FileShape`;
ns.aml.vocabularies.shapes.AnyShape = `${shapesKey}AnyShape`;
ns.aml.vocabularies.shapes.SchemaShape = `${shapesKey}SchemaShape`;
ns.aml.vocabularies.shapes.MatrixShape = `${shapesKey}MatrixShape`;
ns.aml.vocabularies.shapes.TupleShape = `${shapesKey}TupleShape`;
ns.aml.vocabularies.shapes.DataTypeFragment = `${shapesKey}DataTypeFragment`;
ns.aml.vocabularies.shapes.RecursiveShape = `${shapesKey}RecursiveShape`;
ns.aml.vocabularies.shapes.XMLSerializer = `${shapesKey}XMLSerializer`;
ns.aml.vocabularies.shapes.range = `${shapesKey}range`;
ns.aml.vocabularies.shapes.items = `${shapesKey}items`;
ns.aml.vocabularies.shapes.anyOf = `${shapesKey}anyOf`;
ns.aml.vocabularies.shapes.fileType = `${shapesKey}fileType`;
ns.aml.vocabularies.shapes.number = `${shapesKey}number`;
ns.aml.vocabularies.shapes.integer = `${shapesKey}integer`;
ns.aml.vocabularies.shapes.long = `${shapesKey}long`;
ns.aml.vocabularies.shapes.double = `${shapesKey}double`;
ns.aml.vocabularies.shapes.boolean = `${shapesKey}boolean`;
ns.aml.vocabularies.shapes.float = `${shapesKey}float`;
ns.aml.vocabularies.shapes.nil = `${shapesKey}nil`;
ns.aml.vocabularies.shapes.dateTimeOnly = `${shapesKey}dateTimeOnly`;
ns.aml.vocabularies.shapes.password = `${shapesKey}password`;
ns.aml.vocabularies.shapes.schema = `${shapesKey}schema`;
ns.aml.vocabularies.shapes.xmlSerialization = `${shapesKey}xmlSerialization`;
ns.aml.vocabularies.shapes.xmlName = `${shapesKey}xmlName`;
ns.aml.vocabularies.shapes.xmlAttribute = `${shapesKey}xmlAttribute`;
ns.aml.vocabularies.shapes.xmlWrapped = `${shapesKey}xmlWrapped`;
ns.aml.vocabularies.shapes.xmlNamespace = `${shapesKey}xmlNamespace`;
ns.aml.vocabularies.shapes.xmlPrefix = `${shapesKey}xmlPrefix`;
ns.aml.vocabularies.shapes.readOnly = `${shapesKey}readOnly`;
ns.aml.vocabularies.shapes.writeOnly = `${shapesKey}writeOnly`;
ns.aml.vocabularies.shapes.deprecated = `${shapesKey}deprecated`;
ns.aml.vocabularies.shapes.fixPoint = `${shapesKey}fixPoint`;
ns.aml.vocabularies.shapes.discriminator = `${shapesKey}discriminator`;
ns.aml.vocabularies.shapes.discriminatorValue = `${shapesKey}discriminatorValue`;
ns.aml.vocabularies.shapes.discriminatorValueMapping = `${shapesKey}discriminatorValueMapping`;
ns.aml.vocabularies.shapes.discriminatorValueTarget = `${shapesKey}discriminatorValueTarget`;
ns.aml.vocabularies.shapes.format = `${shapesKey}format`;
ns.aml.vocabularies.shapes.multipleOf = `${shapesKey}multipleOf`;
ns.aml.vocabularies.shapes.uniqueItems = `${shapesKey}uniqueItems`;
ns.aml.vocabularies.shapes.size = `${shapesKey}size`;
ns.aml.vocabularies.data = {};
ns.aml.vocabularies.data.key = `${ns.aml.vocabularies.key}data#`;
const dataKey = ns.aml.vocabularies.data.key;
ns.aml.vocabularies.data.toString = () => dataKey;
ns.aml.vocabularies.data.Scalar = `${dataKey}Scalar`;
ns.aml.vocabularies.data.Object = `${dataKey}Object`;
ns.aml.vocabularies.data.Array = `${dataKey}Array`;
ns.aml.vocabularies.data.value = `${dataKey}value`;
ns.aml.vocabularies.data.type = `${dataKey}type`;
ns.aml.vocabularies.data.agent = `${dataKey}agent`;
ns.aml.vocabularies.data.action = `${dataKey}action`;
ns.aml.vocabularies.data.privacy = `${dataKey}privacy`;
ns.aml.vocabularies.data.isUserInput = `${dataKey}isUserInput`;
ns.aml.vocabularies.data.isPii = `${dataKey}isPii`;
ns.aml.vocabularies.data.topic = `${dataKey}topic`;
ns.aml.vocabularies.data.classificationDescription = `${dataKey}classificationDescription`;
ns.aml.vocabularies.data.instructions = `${dataKey}instructions`;
ns.aml.vocabularies.data.name = `${dataKey}name`;
ns.aml.vocabularies.data.scope = `${dataKey}scope`;
ns.aml.vocabularies.data.description = `${dataKey}description`;
ns.aml.vocabularies.data.required = `${dataKey}required`;
ns.aml.vocabularies.data.displayName = `${dataKey}displayName`;
ns.aml.vocabularies.data.minLength = `${dataKey}minLength`;
ns.aml.vocabularies.data.maxLength = `${dataKey}maxLength`;
ns.aml.vocabularies.data.default = `${dataKey}default`;
ns.aml.vocabularies.data.multipleOf = `${dataKey}multipleOf`;
ns.aml.vocabularies.data.minimum = `${dataKey}minimum`;
ns.aml.vocabularies.data.maximum = `${dataKey}maximum`;
ns.aml.vocabularies.data.enum = `${dataKey}enum`;
ns.aml.vocabularies.data.pattern = `${dataKey}pattern`;
ns.aml.vocabularies.data.items = `${dataKey}items`;
ns.aml.vocabularies.data.format = `${dataKey}format`;
ns.aml.vocabularies.data.example = `${dataKey}example`;
ns.aml.vocabularies.data.examples = `${dataKey}examples`;
ns.aml.vocabularies.docSourceMaps = {};
ns.aml.vocabularies.docSourceMaps.key = `${ns.aml.vocabularies.key}document-source-maps#`;
const dsmKey = ns.aml.vocabularies.docSourceMaps.key;
ns.aml.vocabularies.docSourceMaps.toString = () => dsmKey;
ns.aml.vocabularies.docSourceMaps.SourceMap = `${dsmKey}SourceMap`;
ns.aml.vocabularies.docSourceMaps.sources = `${dsmKey}sources`;
ns.aml.vocabularies.docSourceMaps.element = `${dsmKey}element`;
ns.aml.vocabularies.docSourceMaps.value = `${dsmKey}value`;
ns.aml.vocabularies.docSourceMaps.declaredElement = `${dsmKey}declared-element`;
ns.aml.vocabularies.docSourceMaps.trackedElement = `${dsmKey}tracked-element`;
ns.aml.vocabularies.docSourceMaps.parsedJsonSchema = `${dsmKey}parsed-json-schema`;
ns.aml.vocabularies.docSourceMaps.autoGeneratedName = `${dsmKey}auto-generated-name`;
ns.aml.vocabularies.docSourceMaps.lexical = `${dsmKey}lexical`;
ns.aml.vocabularies.docSourceMaps.synthesizedField = `${dsmKey}synthesized-field`;
ns.aml.vocabularies.docSourceMaps.avroSchema = `${dsmKey}avro-schema`;
// W3 namespace
ns.w3 = {};
ns.w3.key = "http://www.w3.org/";
ns.w3.rdfSyntax = {};
ns.w3.rdfSyntax.key = `${ns.w3.key}1999/02/22-rdf-syntax-ns#`;
ns.w3.rdfSyntax.toString = () => ns.w3.rdfSyntax.key;
// TODO: is this unnecessary?
ns.w3.rdfSyntax.member = `${ns.w3.rdfSyntax.key}member`;
ns.w3.rdfSyntax.Seq = `${ns.w3.rdfSyntax.key}Seq`;
ns.w3.rdfSchema = {};
ns.w3.rdfSchema.key = `${ns.w3.key}2000/01/rdf-schema#`;
ns.w3.rdfSchema.toString = () => ns.w3.rdfSchema.key;
ns.w3.rdfSchema.member = `${ns.w3.rdfSchema.key}member`;
ns.w3.rdfSchema.Seq = `${ns.w3.rdfSchema.key}Seq`;
ns.w3.hydra = {};
ns.w3.hydra.key = `${ns.w3.key}ns/hydra/`;
ns.w3.hydra.toString = () => ns.w3.hydra.key;
ns.w3.hydra.core = ns.aml.vocabularies.apiContract;
ns.w3.xmlSchema = {};
ns.w3.xmlSchema.key = `${ns.w3.key}2001/XMLSchema#`;
ns.w3.xmlSchema.toString = () => ns.w3.xmlSchema.key;
ns.w3.xmlSchema.boolean = `${ns.w3.xmlSchema.key}boolean`;
ns.w3.xmlSchema.string = `${ns.w3.xmlSchema.key}string`;
ns.w3.xmlSchema.number = `${ns.w3.xmlSchema.key}number`;
ns.w3.xmlSchema.integer = `${ns.w3.xmlSchema.key}integer`;
ns.w3.xmlSchema.int = `${ns.w3.xmlSchema.key}int`;
ns.w3.xmlSchema.bytes = `${ns.w3.xmlSchema.key}bytes`;
ns.w3.xmlSchema.fixed = `${ns.w3.xmlSchema.key}fixed`;
ns.w3.xmlSchema.long = `${ns.w3.xmlSchema.key}long`;
ns.w3.xmlSchema.double = `${ns.w3.xmlSchema.key}double`;
ns.w3.xmlSchema.float = `${ns.w3.xmlSchema.key}float`;
ns.w3.xmlSchema.nil = `${ns.w3.xmlSchema.key}nil`;
ns.w3.xmlSchema.dateTime = `${ns.w3.xmlSchema.key}dateTime`;
ns.w3.xmlSchema.time = `${ns.w3.xmlSchema.key}time`;
ns.w3.xmlSchema.date = `${ns.w3.xmlSchema.key}date`;
ns.w3.xmlSchema.base64Binary = `${ns.w3.xmlSchema.key}base64Binary`;
// w3 types
ns.w3.shacl = {};
ns.w3.shacl.key = `${ns.w3.key}ns/shacl#`;
const n2shaclName = ns.w3.shacl.key;
ns.w3.shacl.toString = () => n2shaclName;
ns.w3.shacl.Shape = `${n2shaclName}Shape`;
ns.w3.shacl.NodeShape = `${n2shaclName}NodeShape`;
ns.w3.shacl.SchemaShape = `${n2shaclName}SchemaShape`;
ns.w3.shacl.PropertyShape = `${n2shaclName}PropertyShape`;
ns.w3.shacl.in = `${n2shaclName}in`;
ns.w3.shacl.defaultValue = `${n2shaclName}defaultValue`;
ns.w3.shacl.defaultValueStr = `${n2shaclName}defaultValueStr`;
ns.w3.shacl.pattern = `${n2shaclName}pattern`;
ns.w3.shacl.minInclusive = `${n2shaclName}minInclusive`;
ns.w3.shacl.maxInclusive = `${n2shaclName}maxInclusive`;
ns.w3.shacl.multipleOf = `${n2shaclName}multipleOf`;
ns.w3.shacl.minLength = `${n2shaclName}minLength`;
ns.w3.shacl.maxLength = `${n2shaclName}maxLength`;
ns.w3.shacl.fileType = `${n2shaclName}fileType`;
ns.w3.shacl.and = `${n2shaclName}and`;
ns.w3.shacl.property = `${n2shaclName}property`;
ns.w3.shacl.additionalPropertiesSchema = `${n2shaclName}additionalPropertiesSchema`;
ns.w3.shacl.name = `${n2shaclName}name`;
ns.w3.shacl.raw = `${n2shaclName}raw`;
ns.w3.shacl.datatype = `${n2shaclName}datatype`;
ns.w3.shacl.minCount = `${n2shaclName}minCount`;
ns.w3.shacl.maxCount = `${n2shaclName}maxCount`;
ns.w3.shacl.xone = `${n2shaclName}xone`;
ns.w3.shacl.not = `${n2shaclName}not`;
ns.w3.shacl.or = `${n2shaclName}or`;
ns.w3.shacl.closed = `${n2shaclName}closed`;
ns.w3.shacl.path = `${n2shaclName}path`;
// Hydra shortcuts
ns.w3.hydra.supportedOperation = `${contractKey}supportedOperation`;
// Schema org namespace
ns.schema = {};
ns.schema.key = coreKey;
ns.schema.toString = () => coreKey;
ns.schema.name = `${ns.schema.key}name`;
ns.schema.desc = `${ns.schema.key}description`;
ns.schema.doc = `${ns.schema.key}documentation`;
ns.schema.webApi = `${contractKey}WebAPI`;
ns.schema.creativeWork = `${coreKey}CreativeWork`;
ns.schema.displayName = `${coreKey}displayName`;
ns.schema.title = `${coreKey}title`;
Object.freeze(ns.raml);
Object.freeze(ns.aml);
Object.freeze(ns.aml.vocabularies);
Object.freeze(ns.aml.vocabularies.shapes);
Object.freeze(ns.aml.vocabularies.data);
Object.freeze(ns.aml.vocabularies.apiContract);
Object.freeze(ns.aml.vocabularies.security);
Object.freeze(ns.aml.vocabularies.core);
Object.freeze(ns.aml.vocabularies.document);
Object.freeze(ns.w3);
Object.freeze(ns.w3.rdfSyntax);
Object.freeze(ns.w3.hydra);
Object.freeze(ns.w3.shacl);
Object.freeze(ns.schema);
Object.freeze(ns);