r2-utils-js
Version:
Readium 2 'utils' for NodeJS (TypeScript)
38 lines • 1.48 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.JsonPropertyEx = void 0;
require("reflect-metadata");
var debug_ = require("debug");
var ta_json_x_1 = require("ta-json-x");
var object_definition_1 = require("ta-json-x/dist/cjs/classes/object-definition");
var util = require("util");
var debug = debug_("r2:utils#ta-json-x/JsonPropertyEx");
function inspect(obj) {
console.log(util.inspect(obj, { showHidden: false, depth: 1000, colors: true, customInspect: true }));
}
function JsonPropertyEx(propertyName) {
debug("JsonPropertyEx");
debug("propertyName");
debug(propertyName);
return function (target, key) {
debug("target");
inspect(target);
debug("key");
debug(key);
debug("Reflect.getMetadata('design:type', target, key)");
var objectType = Reflect.getMetadata("design:type", target, key);
inspect(objectType);
debug(objectType.name);
debug("target.constructor");
inspect(target.constructor);
debug("getDefinition(target.constructor)");
var objDef = (0, object_definition_1.getDefinition)(target.constructor);
inspect(objDef);
debug("objDef.getProperty(key)");
var property = objDef.getProperty(key);
inspect(property);
return (0, ta_json_x_1.JsonProperty)(propertyName)(target, key);
};
}
exports.JsonPropertyEx = JsonPropertyEx;
//# sourceMappingURL=JsonPropertyEx.js.map