@eva/inspector-decorator
Advanced tools
Comparing version 0.1.0-alpha.2 to 0.1.0-alpha.3
@@ -9,4 +9,2 @@ declare type AnyOptions = Record<string, any>; | ||
export declare type DynamicGetProperties<T extends ClassType<any>> = (target?: InstanceType<T>) => FieldMetadata<InstanceType<T>>; | ||
export declare const ExecuteInEditMode: ClassDecorator; | ||
@@ -22,9 +20,9 @@ | ||
export declare type FieldMetadata<T extends Record<string, any>> = { | ||
[K in keyof T]: FieldMetadataInner<T[K]>; | ||
}; | ||
export declare interface FieldMetadataInner<T> extends NumberOptions, FillterOptions, FilltersOptions, AnyOptions { | ||
type: T extends number ? 'number' : T extends string ? 'string' : T extends boolean ? 'boolean' : T extends Record<string, any> ? FieldMetadata<T> : string; | ||
export declare interface FieldMetadata extends NumberOptions, FillterOptions, FilltersOptions, AnyOptions { | ||
name: string; | ||
type: string; | ||
children?: FieldMetadata[]; | ||
isFolder?: boolean; | ||
isArray: boolean; | ||
addable?: boolean; | ||
} | ||
@@ -45,4 +43,4 @@ | ||
export declare function getPropertiesOf<T extends ClassType<any> & { | ||
getProperties?: StaticGetProperties<T>; | ||
}>(target: T): T['getProperties'] extends StaticGetProperties<T> ? ReturnTypeAsync<T['getProperties']> : FieldMetadata<InstanceType<T>>; | ||
componentName?: string; | ||
}>(target: T, isRoot?: boolean): FieldMetadata; | ||
@@ -66,4 +64,2 @@ declare interface NumberOptions { | ||
export declare type StaticGetProperties<T extends ClassType<any>> = () => DynamicGetProperties<T> | FieldMetadata<InstanceType<T>>; | ||
export declare interface TypeDecoratorParams { | ||
@@ -70,0 +66,0 @@ returnTypeFunc?: ReturnTypeFunc; |
@@ -17,3 +17,3 @@ 'use strict'; | ||
}(Error)); | ||
var StaticGetPropertiesIsNotAFunctionError = /** @class */ (function (_super) { | ||
/** @class */ ((function (_super) { | ||
tslib.__extends(StaticGetPropertiesIsNotAFunctionError, _super); | ||
@@ -27,3 +27,3 @@ function StaticGetPropertiesIsNotAFunctionError() { | ||
return StaticGetPropertiesIsNotAFunctionError; | ||
}(Error)); | ||
})(Error)); | ||
@@ -90,12 +90,22 @@ var IDE_PROPERTY_METADATA = 'IDE_PROPERTY_METADATA'; | ||
} | ||
function getPropertiesOf(target) { | ||
if ('getProperties' in target) { | ||
if (!isFunction(target['getProperties'])) { | ||
throw new StaticGetPropertiesIsNotAFunctionError(); | ||
} | ||
return target.getProperties(); | ||
function getPropertiesOf(target, isRoot) { | ||
if (isRoot === void 0) { isRoot = true; } | ||
var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target) || {}; | ||
var name = target.componentName; | ||
var rootObject = { | ||
name: name, | ||
type: name, | ||
isArray: false, | ||
}; | ||
if (isRoot) { | ||
rootObject.isFolder = true; | ||
} | ||
var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target) || {}; | ||
if (!Object.keys(properties).length && target.componentName) { | ||
return rootObject; | ||
} | ||
rootObject.type = 'object'; | ||
rootObject.children = []; | ||
Object.keys(properties).forEach(function (propertyKey) { | ||
if (typeof properties[propertyKey].type === 'function') { | ||
var _a; | ||
if (isFunction(properties[propertyKey].type)) { | ||
var maybeBasicType = transformBasicType(properties[propertyKey].type); | ||
@@ -106,7 +116,19 @@ if (maybeBasicType !== 'unknown') { | ||
else { | ||
properties[propertyKey].type = getPropertiesOf(properties[propertyKey].type); | ||
var child = getPropertiesOf(properties[propertyKey].type, false); | ||
properties[propertyKey].type = 'object'; | ||
if (!properties[propertyKey].children) { | ||
properties[propertyKey].children = []; | ||
} | ||
(_a = properties[propertyKey].children).push.apply(_a, tslib.__spread(child.children)); | ||
} | ||
} | ||
if (!properties[propertyKey].name) { | ||
properties[propertyKey].name = propertyKey; | ||
} | ||
if (properties[propertyKey].isArray) { | ||
properties[propertyKey].addable = true; | ||
} | ||
rootObject.children.push(properties[propertyKey]); | ||
}); | ||
return properties; | ||
return rootObject; | ||
} | ||
@@ -113,0 +135,0 @@ var ExecuteMode; |
@@ -1,1 +0,1 @@ | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t,e=require("tslib"),r=function(t){function r(){var e=this.constructor,r=t.call(this,"Symbol keys are not supported yet!")||this;return Object.setPrototypeOf(r,e.prototype),r}return e.__extends(r,t),r}(Error),n=function(t){function r(){var e=this.constructor,r=t.call(this,"getProperties is not a function!")||this;return Object.setPrototypeOf(r,e.prototype),r}return e.__extends(r,t),r}(Error);function o(t){return t===String?"string":t===Number?"number":t===Boolean?"boolean":"unknown"}!function(t){t[t.Edit=2]="Edit",t[t.Game=4]="Game",t[t.All=6]="All"}(t||(t={}));exports.ExecuteInEditMode=function(e){Reflect.defineMetadata("COMPONENT_EXECUTE_MODE_METADATA",t.Edit,e)},exports.Field=function(t,n){return function(i,u){if("symbol"==typeof u)throw new r;var c=function(t,e){return"function"==typeof t?{returnTypeFunc:t,options:e||{}}:{options:t||{}}}(t,n);!function(t,r,n,i){var u=Reflect.getMetadata("design:type",t,r),c=u===Array,s=o(u);if("unknown"!==s&&(u=s),i){var a=i();Array.isArray(a)?(c=!0,u=a[0]):u=a}var f=Reflect.getMetadata("IDE_PROPERTY_METADATA",t.constructor)||{};f[r]=e.__assign({type:u,isArray:c},n),Reflect.defineMetadata("IDE_PROPERTY_METADATA",f,t.constructor)}(i,u,c.options,c.returnTypeFunc)}},exports.getPropertiesOf=function t(e){if("getProperties"in e){if("function"!=typeof e.getProperties)throw new n;return e.getProperties()}var r=Reflect.getMetadata("IDE_PROPERTY_METADATA",e)||{};return Object.keys(r).forEach((function(e){if("function"==typeof r[e].type){var n=o(r[e].type);r[e].type="unknown"!==n?n:t(r[e].type)}})),r},exports.shouldExecuteInEditMode=function(e){return!!(Reflect.getMetadata("COMPONENT_EXECUTE_MODE_METADATA",e)&t.Edit)}; | ||
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("tslib"),e=function(e){function n(){var t=this.constructor,n=e.call(this,"Symbol keys are not supported yet!")||this;return Object.setPrototypeOf(n,t.prototype),n}return t.__extends(n,e),n}(Error);!function(e){function n(){var t=this.constructor,n=e.call(this,"getProperties is not a function!")||this;return Object.setPrototypeOf(n,t.prototype),n}t.__extends(n,e)}(Error);var n;function r(t){return t===String?"string":t===Number?"number":t===Boolean?"boolean":"unknown"}!function(t){t[t.Edit=2]="Edit",t[t.Game=4]="Game",t[t.All=6]="All"}(n||(n={}));exports.ExecuteInEditMode=function(t){Reflect.defineMetadata("COMPONENT_EXECUTE_MODE_METADATA",n.Edit,t)},exports.Field=function(n,o){return function(i,a){if("symbol"==typeof a)throw new e;var c=function(t,e){return"function"==typeof t?{returnTypeFunc:t,options:e||{}}:{options:t||{}}}(n,o);!function(e,n,o,i){var a=Reflect.getMetadata("design:type",e,n),c=a===Array,s=r(a);if("unknown"!==s&&(a=s),i){var u=i();Array.isArray(u)?(c=!0,a=u[0]):a=u}var p=Reflect.getMetadata("IDE_PROPERTY_METADATA",e.constructor)||{};p[n]=t.__assign({type:a,isArray:c},o),Reflect.defineMetadata("IDE_PROPERTY_METADATA",p,e.constructor)}(i,a,c.options,c.returnTypeFunc)}},exports.getPropertiesOf=function e(n,o){void 0===o&&(o=!0);var i=Reflect.getMetadata("IDE_PROPERTY_METADATA",n)||{},a=n.componentName,c={name:a,type:a,isArray:!1};return o&&(c.isFolder=!0),!Object.keys(i).length&&n.componentName||(c.type="object",c.children=[],Object.keys(i).forEach((function(n){var o;if("function"==typeof i[n].type){var a=r(i[n].type);if("unknown"!==a)i[n].type=a;else{var s=e(i[n].type,!1);i[n].type="object",i[n].children||(i[n].children=[]),(o=i[n].children).push.apply(o,t.__spread(s.children))}}i[n].name||(i[n].name=n),i[n].isArray&&(i[n].addable=!0),c.children.push(i[n])}))),c},exports.shouldExecuteInEditMode=function(t){return!!(Reflect.getMetadata("COMPONENT_EXECUTE_MODE_METADATA",t)&n.Edit)}; |
@@ -1,2 +0,2 @@ | ||
import { __extends, __assign } from 'tslib'; | ||
import { __extends, __spread, __assign } from 'tslib'; | ||
@@ -13,3 +13,3 @@ var SymbolKeysNotSupportedError = /** @class */ (function (_super) { | ||
}(Error)); | ||
var StaticGetPropertiesIsNotAFunctionError = /** @class */ (function (_super) { | ||
/** @class */ ((function (_super) { | ||
__extends(StaticGetPropertiesIsNotAFunctionError, _super); | ||
@@ -23,3 +23,3 @@ function StaticGetPropertiesIsNotAFunctionError() { | ||
return StaticGetPropertiesIsNotAFunctionError; | ||
}(Error)); | ||
})(Error)); | ||
@@ -86,12 +86,22 @@ var IDE_PROPERTY_METADATA = 'IDE_PROPERTY_METADATA'; | ||
} | ||
function getPropertiesOf(target) { | ||
if ('getProperties' in target) { | ||
if (!isFunction(target['getProperties'])) { | ||
throw new StaticGetPropertiesIsNotAFunctionError(); | ||
} | ||
return target.getProperties(); | ||
function getPropertiesOf(target, isRoot) { | ||
if (isRoot === void 0) { isRoot = true; } | ||
var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target) || {}; | ||
var name = target.componentName; | ||
var rootObject = { | ||
name: name, | ||
type: name, | ||
isArray: false, | ||
}; | ||
if (isRoot) { | ||
rootObject.isFolder = true; | ||
} | ||
var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target) || {}; | ||
if (!Object.keys(properties).length && target.componentName) { | ||
return rootObject; | ||
} | ||
rootObject.type = 'object'; | ||
rootObject.children = []; | ||
Object.keys(properties).forEach(function (propertyKey) { | ||
if (typeof properties[propertyKey].type === 'function') { | ||
var _a; | ||
if (isFunction(properties[propertyKey].type)) { | ||
var maybeBasicType = transformBasicType(properties[propertyKey].type); | ||
@@ -102,7 +112,19 @@ if (maybeBasicType !== 'unknown') { | ||
else { | ||
properties[propertyKey].type = getPropertiesOf(properties[propertyKey].type); | ||
var child = getPropertiesOf(properties[propertyKey].type, false); | ||
properties[propertyKey].type = 'object'; | ||
if (!properties[propertyKey].children) { | ||
properties[propertyKey].children = []; | ||
} | ||
(_a = properties[propertyKey].children).push.apply(_a, __spread(child.children)); | ||
} | ||
} | ||
if (!properties[propertyKey].name) { | ||
properties[propertyKey].name = propertyKey; | ||
} | ||
if (properties[propertyKey].isArray) { | ||
properties[propertyKey].addable = true; | ||
} | ||
rootObject.children.push(properties[propertyKey]); | ||
}); | ||
return properties; | ||
return rootObject; | ||
} | ||
@@ -109,0 +131,0 @@ var ExecuteMode; |
{ | ||
"name": "@eva/inspector-decorator", | ||
"version": "0.1.0-alpha.2", | ||
"version": "0.1.0-alpha.3", | ||
"scripts": { | ||
@@ -5,0 +5,0 @@ "build": "node ./scripts/build.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
22200
452
0