@contentgrid/uri-template
Version:
RFC6570 URI template parser and expander
33 lines (30 loc) • 1.02 kB
JavaScript
import { __classPrivateFieldSet, __classPrivateFieldGet } from 'tslib';
import createUriTemplate from 'uri-templates';
var _UriTemplate_parsed;
class UriTemplate {
constructor(template) {
this.template = template;
_UriTemplate_parsed.set(this, void 0);
__classPrivateFieldSet(this, _UriTemplate_parsed, createUriTemplate(template), "f");
}
expand(values) {
if (Array.isArray(values)) {
let i = 0;
return __classPrivateFieldGet(this, _UriTemplate_parsed, "f").fill(_varName => {
return values[i++];
});
} else {
return __classPrivateFieldGet(this, _UriTemplate_parsed, "f").fill(values);
}
}
get variables() {
return __classPrivateFieldGet(this, _UriTemplate_parsed, "f").varNames;
}
match(uri) {
var _a;
return (_a = __classPrivateFieldGet(this, _UriTemplate_parsed, "f").fromUri(uri)) !== null && _a !== void 0 ? _a : null;
}
}
_UriTemplate_parsed = new WeakMap();
export { UriTemplate as default };
//# sourceMappingURL=index.mjs.map