@contentgrid/uri-template
Version:
RFC6570 URI template parser and expander
41 lines (34 loc) • 1.27 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var createUriTemplate = require('uri-templates');
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
var createUriTemplate__default = /*#__PURE__*/_interopDefault(createUriTemplate);
var _UriTemplate_parsed;
class UriTemplate {
constructor(template) {
this.template = template;
_UriTemplate_parsed.set(this, void 0);
tslib.__classPrivateFieldSet(this, _UriTemplate_parsed, createUriTemplate__default.default(template), "f");
}
expand(values) {
if (Array.isArray(values)) {
let i = 0;
return tslib.__classPrivateFieldGet(this, _UriTemplate_parsed, "f").fill(_varName => {
return values[i++];
});
} else {
return tslib.__classPrivateFieldGet(this, _UriTemplate_parsed, "f").fill(values);
}
}
get variables() {
return tslib.__classPrivateFieldGet(this, _UriTemplate_parsed, "f").varNames;
}
match(uri) {
var _a;
return (_a = tslib.__classPrivateFieldGet(this, _UriTemplate_parsed, "f").fromUri(uri)) !== null && _a !== void 0 ? _a : null;
}
}
_UriTemplate_parsed = new WeakMap();
exports.default = UriTemplate;
//# sourceMappingURL=index.js.map