@rnaga/wp-node
Version:
👉 **[View Full Documentation at rnaga.github.io/wp-node →](https://rnaga.github.io/wp-node/)**
84 lines (83 loc) • 3.04 kB
JavaScript
;
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.Taxonomy = void 0;
const config_1 = require("../config");
const constants_1 = require("../constants");
const async_init_1 = require("../decorators/async-init");
const component_1 = require("../decorators/component");
const components_1 = require("./components");
const taxonomy_util_1 = require("./utils/taxonomy.util");
const logger_1 = require("./logger");
const defaultCapabilities = {
manage_terms: "manage_categories",
edit_terms: "manage_categories",
delete_terms: "manage_categories",
assign_terms: "edit_posts",
};
let Taxonomy = class Taxonomy {
config;
components;
key;
#props;
#isDefault;
constructor(config, components, logger, key) {
this.config = config;
this.components = components;
this.key = key;
if (!this.config.config.taxonomy.settings[key]) {
logger.info(`Taxonomy not found: ${key}`);
this.#props = undefined;
this.#isDefault = true;
return;
}
this.#isDefault = false;
}
get isDefault() {
return this.#isDefault;
}
get name() {
return this.key;
}
get props() {
return this.#props;
}
withProps(props) {
this.#props = { ...this.#props, ...props };
return this;
}
async init() {
const defaultTerm = await this.components
.get(taxonomy_util_1.TaxonomyUtil)
.getDefaultTerm(this.key);
this.#props = {
...this.config.config.taxonomy.settings[this.key],
default_term: defaultTerm,
};
this.#props.capabilities = {
...defaultCapabilities,
...this.#props.capabilities,
};
}
};
exports.Taxonomy = Taxonomy;
__decorate([
async_init_1.asyncInit,
__metadata("design:type", Function),
__metadata("design:paramtypes", []),
__metadata("design:returntype", Promise)
], Taxonomy.prototype, "init", null);
exports.Taxonomy = Taxonomy = __decorate([
(0, component_1.component)({ scope: constants_1.Scope.Transient }),
__metadata("design:paramtypes", [config_1.Config,
components_1.Components,
logger_1.Logger, String])
], Taxonomy);