@qudtlib/core
Version:
Data model for QUDTLib
1 lines • 2.34 kB
Source Map (JSON)
{"version":3,"sources":["namespace.ts"],"names":[],"mappings":"AAAA,qBAAa,SAAS;IACpB,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IAEpC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,OAAO,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM;IAMvD;;;;;;OAMG;IACI,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAO/B,8BAA8B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAOnD,MAAM,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM;IAU7C;;OAEG;IACI,yBAAyB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO;IAIjE,6EAA6E;IACtE,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAI/C;;;;;OAKG;IACI,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM;CAGrD","file":"namespace.d.ts","sourcesContent":["export class Namespace {\n readonly abbreviationPrefix: string;\n\n readonly baseIri: string;\n\n constructor(baseIri: string, abbreviationPrefix: string) {\n this.abbreviationPrefix = abbreviationPrefix;\n this.baseIri = baseIri;\n Object.freeze(this);\n }\n\n /**\n * Returns an abbreviated IRI if the specified iri starts with the baseIri; the unchanged input\n * String otherwise;\n *\n * @param iri\n * @return\n */\n public abbreviate(iri: string): string {\n if (this.isFullNamespaceIri(iri)) {\n return this.abbreviationPrefix + \":\" + iri.substring(this.baseIri.length);\n }\n return iri;\n }\n\n public getLocalnameIfFullNamespaceIri(iri: string): string {\n if (this.isFullNamespaceIri(iri)) {\n return iri.substring(this.baseIri.length);\n }\n return iri;\n }\n\n public expand(abbreviatedIri: string): string {\n if (this.isAbbreviatedNamespaceIri(abbreviatedIri)) {\n return (\n this.baseIri +\n abbreviatedIri.substring(this.abbreviationPrefix.length + 1)\n );\n }\n return abbreviatedIri;\n }\n\n /**\n * Returns true if the specified abbreviatedIri starts with the namespace's abbreviation prefix.\n */\n public isAbbreviatedNamespaceIri(abbreviatedIri: string): boolean {\n return abbreviatedIri.startsWith(this.abbreviationPrefix + \":\");\n }\n\n /** Returns true if the specified iri starts with the namespace's baseIri. */\n public isFullNamespaceIri(iri: string): boolean {\n return iri.startsWith(this.baseIri);\n }\n\n /**\n * Prepends the namespace's baseIri to the specified localName.\n *\n * @param localName\n * @return\n */\n public makeIriInNamespace(localName: string): string {\n return this.baseIri + localName;\n }\n}\n"]}