@syncbridge/common 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (87) hide show
  1. package/LICENSE +15 -0
  2. package/README.md +1 -0
  3. package/classes/base-element.d.ts +46 -0
  4. package/classes/base-element.js +80 -0
  5. package/classes/component-base.d.ts +26 -0
  6. package/classes/component-base.js +12 -0
  7. package/classes/frame-stream.d.ts +34 -0
  8. package/classes/frame-stream.js +140 -0
  9. package/classes/processor-base.d.ts +15 -0
  10. package/classes/processor-base.js +8 -0
  11. package/classes/runnable.d.ts +86 -0
  12. package/classes/runnable.js +228 -0
  13. package/classes/sb-error.d.ts +11 -0
  14. package/classes/sb-error.js +54 -0
  15. package/classes/stack-executor.d.ts +10 -0
  16. package/classes/stack-executor.js +37 -0
  17. package/constants.d.ts +6 -0
  18. package/constants.js +17 -0
  19. package/decorators/component.decorator.d.ts +15 -0
  20. package/decorators/component.decorator.js +28 -0
  21. package/decorators/decorator-helpers.d.ts +2 -0
  22. package/decorators/decorator-helpers.js +13 -0
  23. package/decorators/define-variable.decorator.d.ts +14 -0
  24. package/decorators/define-variable.decorator.js +57 -0
  25. package/decorators/finalize-element-metadata.d.ts +4 -0
  26. package/decorators/finalize-element-metadata.js +30 -0
  27. package/decorators/processor-events.decorator.d.ts +5 -0
  28. package/decorators/processor-events.decorator.js +21 -0
  29. package/decorators/processor.decorator.d.ts +31 -0
  30. package/decorators/processor.decorator.js +42 -0
  31. package/decorators/use-component.decorator.d.ts +9 -0
  32. package/decorators/use-component.decorator.js +24 -0
  33. package/decorators/use-variables.decorator.d.ts +5 -0
  34. package/decorators/use-variables.decorator.js +20 -0
  35. package/index.d.ts +20 -0
  36. package/index.js +20 -0
  37. package/interfaces/extension-package.interface.d.ts +6 -0
  38. package/interfaces/extension-package.interface.js +1 -0
  39. package/interfaces/index.d.ts +2 -0
  40. package/interfaces/index.js +2 -0
  41. package/interfaces/logger.interface.d.ts +17 -0
  42. package/interfaces/logger.interface.js +1 -0
  43. package/models/enums/log-level.d.ts +9 -0
  44. package/models/enums/log-level.js +15 -0
  45. package/models/enums/service-status.d.ts +8 -0
  46. package/models/enums/service-status.js +14 -0
  47. package/models/enums/variable-format.enum.d.ts +9 -0
  48. package/models/enums/variable-format.enum.js +15 -0
  49. package/models/enums/variable-type.enum.d.ts +8 -0
  50. package/models/enums/variable-type.enum.js +14 -0
  51. package/models/index.d.ts +13 -0
  52. package/models/index.js +13 -0
  53. package/models/metadata/author-metadata.d.ts +8 -0
  54. package/models/metadata/author-metadata.js +48 -0
  55. package/models/metadata/component-metadata.d.ts +8 -0
  56. package/models/metadata/component-metadata.js +25 -0
  57. package/models/metadata/element-component-metadata.d.ts +19 -0
  58. package/models/metadata/element-component-metadata.js +70 -0
  59. package/models/metadata/element-metadata.d.ts +18 -0
  60. package/models/metadata/element-metadata.js +81 -0
  61. package/models/metadata/package-metadata.d.ts +7 -0
  62. package/models/metadata/package-metadata.js +27 -0
  63. package/models/metadata/processor-metadata.d.ts +5 -0
  64. package/models/metadata/processor-metadata.js +14 -0
  65. package/models/metadata/variable-metadata.d.ts +31 -0
  66. package/models/metadata/variable-metadata.js +138 -0
  67. package/models/profile/log-options.d.ts +16 -0
  68. package/models/profile/log-options.js +56 -0
  69. package/models/profile/profile-component.d.ts +23 -0
  70. package/models/profile/profile-component.js +77 -0
  71. package/models/profile/profile.d.ts +25 -0
  72. package/models/profile/profile.js +115 -0
  73. package/models-document.d.ts +3 -0
  74. package/models-document.js +15 -0
  75. package/package.json +33 -0
  76. package/processor-factory.d.ts +13 -0
  77. package/processor-factory.js +106 -0
  78. package/registry.d.ts +32 -0
  79. package/registry.js +205 -0
  80. package/utils/encrypt-helpers.d.ts +2 -0
  81. package/utils/encrypt-helpers.js +43 -0
  82. package/utils/make-extension-package.d.ts +3 -0
  83. package/utils/make-extension-package.js +13 -0
  84. package/utils/metadata-utils.d.ts +7 -0
  85. package/utils/metadata-utils.js +99 -0
  86. package/utils/profile-utils.d.ts +21 -0
  87. package/utils/profile-utils.js +222 -0
@@ -0,0 +1,24 @@
1
+ import 'reflect-metadata';
2
+ import { OWN_ELEMENT_METADATA } from '../constants.js';
3
+ import { defineMergeMetadata } from './decorator-helpers.js';
4
+ export function UseComponent(options) {
5
+ return function (target, propertyKey) {
6
+ /** c8 ignore next */
7
+ if (typeof propertyKey !== 'string')
8
+ throw new TypeError('Property key must be a string');
9
+ if (!options.className && !options.interfaces) {
10
+ const designType = Reflect.getMetadata('design:type', target, propertyKey);
11
+ if (typeof designType === 'function' && designType.interfaces) {
12
+ options.interfaces = [...designType.interfaces];
13
+ }
14
+ }
15
+ defineMergeMetadata(target.constructor, OWN_ELEMENT_METADATA, {
16
+ components: {
17
+ [propertyKey]: {
18
+ ...options,
19
+ propertyKey,
20
+ },
21
+ },
22
+ });
23
+ };
24
+ }
@@ -0,0 +1,5 @@
1
+ import 'reflect-metadata';
2
+ import type { Type } from 'ts-gems';
3
+ import type { ComponentBase } from '../classes/component-base.js';
4
+ import type { ProcessorBase } from '../classes/processor-base.js';
5
+ export declare function UseVariables<T extends ProcessorBase | ComponentBase>(variablesClass?: Type): (target: T, propertyKey: "values") => void;
@@ -0,0 +1,20 @@
1
+ import 'reflect-metadata';
2
+ import { OWN_ELEMENT_METADATA, VARIABLE_CONTAINER } from '../constants.js';
3
+ import { defineMergeMetadata } from './decorator-helpers.js';
4
+ export function UseVariables(variablesClass) {
5
+ return function (target, propertyKey) {
6
+ /** c8 ignore next */
7
+ if (propertyKey !== 'values')
8
+ throw new TypeError('Property key must be "values"');
9
+ variablesClass =
10
+ variablesClass || Reflect.getMetadata('design:type', target, propertyKey);
11
+ if (!(typeof variablesClass === 'function' &&
12
+ Reflect.hasMetadata(VARIABLE_CONTAINER, variablesClass.prototype))) {
13
+ throw new TypeError('Variables class must be decorated with @DefineVariable');
14
+ }
15
+ const metadata = Reflect.getMetadata(VARIABLE_CONTAINER, variablesClass.prototype);
16
+ defineMergeMetadata(target.constructor, OWN_ELEMENT_METADATA, {
17
+ variables: metadata,
18
+ });
19
+ };
20
+ }
package/index.d.ts ADDED
@@ -0,0 +1,20 @@
1
+ export * from './classes/base-element.js';
2
+ export * from './classes/component-base.js';
3
+ export * from './classes/frame-stream.js';
4
+ export * from './classes/processor-base.js';
5
+ export * from './classes/runnable.js';
6
+ export * from './classes/sb-error.js';
7
+ export * from './classes/stack-executor.js';
8
+ export * from './constants.js';
9
+ export * from './decorators/component.decorator.js';
10
+ export * from './decorators/define-variable.decorator.js';
11
+ export * from './decorators/processor.decorator.js';
12
+ export * from './interfaces/index.js';
13
+ export * from './models/index.js';
14
+ export * as models from './models/index.js';
15
+ export * from './models-document.js';
16
+ export * from './processor-factory.js';
17
+ export * from './registry.js';
18
+ export * from './utils/make-extension-package.js';
19
+ export * from './utils/metadata-utils.js';
20
+ export * from './utils/profile-utils.js';
package/index.js ADDED
@@ -0,0 +1,20 @@
1
+ export * from './classes/base-element.js';
2
+ export * from './classes/component-base.js';
3
+ export * from './classes/frame-stream.js';
4
+ export * from './classes/processor-base.js';
5
+ export * from './classes/runnable.js';
6
+ export * from './classes/sb-error.js';
7
+ export * from './classes/stack-executor.js';
8
+ export * from './constants.js';
9
+ export * from './decorators/component.decorator.js';
10
+ export * from './decorators/define-variable.decorator.js';
11
+ export * from './decorators/processor.decorator.js';
12
+ export * from './interfaces/index.js';
13
+ export * from './models/index.js';
14
+ export * as models from './models/index.js';
15
+ export * from './models-document.js';
16
+ export * from './processor-factory.js';
17
+ export * from './registry.js';
18
+ export * from './utils/make-extension-package.js';
19
+ export * from './utils/metadata-utils.js';
20
+ export * from './utils/profile-utils.js';
@@ -0,0 +1,6 @@
1
+ import type { Type } from 'ts-gems';
2
+ export interface IExtensionPackage {
3
+ components: Type[];
4
+ processors: Type[];
5
+ dependencies?: string[];
6
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,2 @@
1
+ export * from './extension-package.interface.js';
2
+ export * from './logger.interface.js';
@@ -0,0 +1,2 @@
1
+ export * from './extension-package.interface.js';
2
+ export * from './logger.interface.js';
@@ -0,0 +1,17 @@
1
+ export interface ILogger {
2
+ fatal: LeveledLogMethod;
3
+ critical: LeveledLogMethod;
4
+ error: LeveledLogMethod;
5
+ warn: LeveledLogMethod;
6
+ info: LeveledLogMethod;
7
+ trace: LeveledLogMethod;
8
+ debug: LeveledLogMethod;
9
+ level: string;
10
+ child(options: Object): ILogger;
11
+ close(): void;
12
+ }
13
+ export interface LeveledLogMethod {
14
+ (message: string, ...meta: any[]): ILogger;
15
+ (message: any): ILogger;
16
+ (infoObject: object): ILogger;
17
+ }
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,9 @@
1
+ export declare enum LogLevel {
2
+ none = "none",
3
+ error = "error",
4
+ warn = "warn",
5
+ info = "info",
6
+ verbose = "verbose",
7
+ debug = "debug",
8
+ silly = "silly"
9
+ }
@@ -0,0 +1,15 @@
1
+ import { EnumType } from '@opra/common';
2
+ export var LogLevel;
3
+ (function (LogLevel) {
4
+ LogLevel["none"] = "none";
5
+ LogLevel["error"] = "error";
6
+ LogLevel["warn"] = "warn";
7
+ LogLevel["info"] = "info";
8
+ LogLevel["verbose"] = "verbose";
9
+ LogLevel["debug"] = "debug";
10
+ LogLevel["silly"] = "silly";
11
+ })(LogLevel || (LogLevel = {}));
12
+ EnumType(LogLevel, {
13
+ name: 'LogLevel',
14
+ description: 'Logging levels',
15
+ });
@@ -0,0 +1,8 @@
1
+ export declare enum ServiceStatus {
2
+ stopped = "stopped",
3
+ starting = "starting",
4
+ started = "started",
5
+ unhealthy = "unhealthy",
6
+ stopping = "stopping",
7
+ invalid = "invalid"
8
+ }
@@ -0,0 +1,14 @@
1
+ import { EnumType } from '@opra/common';
2
+ export var ServiceStatus;
3
+ (function (ServiceStatus) {
4
+ ServiceStatus["stopped"] = "stopped";
5
+ ServiceStatus["starting"] = "starting";
6
+ ServiceStatus["started"] = "started";
7
+ ServiceStatus["unhealthy"] = "unhealthy";
8
+ ServiceStatus["stopping"] = "stopping";
9
+ ServiceStatus["invalid"] = "invalid";
10
+ })(ServiceStatus || (ServiceStatus = {}));
11
+ EnumType(ServiceStatus, {
12
+ name: 'ServiceStatus',
13
+ description: 'Status of any service',
14
+ });
@@ -0,0 +1,9 @@
1
+ export declare enum VariableFormat {
2
+ Base64 = "base64",
3
+ Hex = "hex",
4
+ Url = "url",
5
+ Email = "email",
6
+ Date = "date",
7
+ DateTime = "date-time",
8
+ Time = "time"
9
+ }
@@ -0,0 +1,15 @@
1
+ import { EnumType } from '@opra/common';
2
+ export var VariableFormat;
3
+ (function (VariableFormat) {
4
+ VariableFormat["Base64"] = "base64";
5
+ VariableFormat["Hex"] = "hex";
6
+ VariableFormat["Url"] = "url";
7
+ VariableFormat["Email"] = "email";
8
+ VariableFormat["Date"] = "date";
9
+ VariableFormat["DateTime"] = "date-time";
10
+ VariableFormat["Time"] = "time";
11
+ })(VariableFormat || (VariableFormat = {}));
12
+ EnumType(VariableFormat, {
13
+ name: 'VariableFormat',
14
+ description: 'Format of string variable',
15
+ });
@@ -0,0 +1,8 @@
1
+ export declare enum VariableType {
2
+ String = "string",
3
+ Secret = "secret",
4
+ Number = "number",
5
+ Boolean = "boolean",
6
+ Nested = "nested",
7
+ Enum = "enum"
8
+ }
@@ -0,0 +1,14 @@
1
+ import { EnumType } from '@opra/common';
2
+ export var VariableType;
3
+ (function (VariableType) {
4
+ VariableType["String"] = "string";
5
+ VariableType["Secret"] = "secret";
6
+ VariableType["Number"] = "number";
7
+ VariableType["Boolean"] = "boolean";
8
+ VariableType["Nested"] = "nested";
9
+ VariableType["Enum"] = "enum";
10
+ })(VariableType || (VariableType = {}));
11
+ EnumType(VariableType, {
12
+ name: 'VariableType',
13
+ description: 'Data type of the variable',
14
+ });
@@ -0,0 +1,13 @@
1
+ export * from './enums/log-level.js';
2
+ export * from './enums/service-status.js';
3
+ export * from './enums/variable-format.enum.js';
4
+ export * from './enums/variable-type.enum.js';
5
+ export * from './metadata/author-metadata.js';
6
+ export * from './metadata/component-metadata.js';
7
+ export * from './metadata/element-component-metadata.js';
8
+ export * from './metadata/element-metadata.js';
9
+ export * from './metadata/processor-metadata.js';
10
+ export * from './metadata/variable-metadata.js';
11
+ export * from './profile/log-options.js';
12
+ export * from './profile/profile.js';
13
+ export * from './profile/profile-component.js';
@@ -0,0 +1,13 @@
1
+ export * from './enums/log-level.js';
2
+ export * from './enums/service-status.js';
3
+ export * from './enums/variable-format.enum.js';
4
+ export * from './enums/variable-type.enum.js';
5
+ export * from './metadata/author-metadata.js';
6
+ export * from './metadata/component-metadata.js';
7
+ export * from './metadata/element-component-metadata.js';
8
+ export * from './metadata/element-metadata.js';
9
+ export * from './metadata/processor-metadata.js';
10
+ export * from './metadata/variable-metadata.js';
11
+ export * from './profile/log-options.js';
12
+ export * from './profile/profile.js';
13
+ export * from './profile/profile-component.js';
@@ -0,0 +1,8 @@
1
+ export declare class AuthorMetadata {
2
+ constructor(init?: Partial<AuthorMetadata>);
3
+ name?: string;
4
+ email?: string;
5
+ url?: string;
6
+ logoUrl?: string;
7
+ iconUrl?: string;
8
+ }
@@ -0,0 +1,48 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ComplexType } from '@opra/common';
3
+ let AuthorMetadata = class AuthorMetadata {
4
+ constructor(init) {
5
+ if (init)
6
+ Object.assign(this, init);
7
+ }
8
+ };
9
+ __decorate([
10
+ ApiField({
11
+ label: 'Name',
12
+ description: 'Name of the author. This is used to identify the author. ',
13
+ }),
14
+ __metadata("design:type", String)
15
+ ], AuthorMetadata.prototype, "name", void 0);
16
+ __decorate([
17
+ ApiField({
18
+ label: 'Email',
19
+ description: 'Email of the author',
20
+ }),
21
+ __metadata("design:type", String)
22
+ ], AuthorMetadata.prototype, "email", void 0);
23
+ __decorate([
24
+ ApiField({
25
+ label: 'Url',
26
+ description: 'Url of the author',
27
+ }),
28
+ __metadata("design:type", String)
29
+ ], AuthorMetadata.prototype, "url", void 0);
30
+ __decorate([
31
+ ApiField({
32
+ label: 'Logo Url',
33
+ description: 'Url of the author logo. Dimensions should be 800x600, 400x300',
34
+ }),
35
+ __metadata("design:type", String)
36
+ ], AuthorMetadata.prototype, "logoUrl", void 0);
37
+ __decorate([
38
+ ApiField({
39
+ label: 'Logomark Url',
40
+ description: 'Url of the author logomark. Dimensions should be square',
41
+ }),
42
+ __metadata("design:type", String)
43
+ ], AuthorMetadata.prototype, "iconUrl", void 0);
44
+ AuthorMetadata = __decorate([
45
+ ComplexType(),
46
+ __metadata("design:paramtypes", [Object])
47
+ ], AuthorMetadata);
48
+ export { AuthorMetadata };
@@ -0,0 +1,8 @@
1
+ import { ElementMetadata } from './element-metadata.js';
2
+ /**
3
+ *
4
+ */
5
+ export declare class ComponentMetadata extends ElementMetadata {
6
+ constructor(init?: Partial<ComponentMetadata>);
7
+ interfaces: string[];
8
+ }
@@ -0,0 +1,25 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ComplexType } from '@opra/common';
3
+ import { ElementMetadata } from './element-metadata.js';
4
+ /**
5
+ *
6
+ */
7
+ let ComponentMetadata = class ComponentMetadata extends ElementMetadata {
8
+ constructor(init) {
9
+ super(init);
10
+ }
11
+ };
12
+ __decorate([
13
+ ApiField({
14
+ label: 'Interfaces',
15
+ description: 'Interfaces which this component implemented',
16
+ type: 'string',
17
+ isArray: true,
18
+ }),
19
+ __metadata("design:type", Array)
20
+ ], ComponentMetadata.prototype, "interfaces", void 0);
21
+ ComponentMetadata = __decorate([
22
+ ComplexType(),
23
+ __metadata("design:paramtypes", [Object])
24
+ ], ComponentMetadata);
25
+ export { ComponentMetadata };
@@ -0,0 +1,19 @@
1
+ import { VariableMetadataRecord } from './variable-metadata.js';
2
+ /**
3
+ *
4
+ */
5
+ export declare class ElementComponentMetadataRecord {
6
+ [key: string]: ElementComponentMetadata;
7
+ }
8
+ /**
9
+ *
10
+ */
11
+ export declare class ElementComponentMetadata {
12
+ propertyKey?: string;
13
+ className?: string;
14
+ description?: string;
15
+ interfaces?: string[];
16
+ required?: boolean;
17
+ variables?: VariableMetadataRecord;
18
+ components?: ElementComponentMetadataRecord;
19
+ }
@@ -0,0 +1,70 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ComplexType } from '@opra/common';
3
+ import { VariableMetadataRecord } from './variable-metadata.js';
4
+ /**
5
+ *
6
+ */
7
+ let ElementComponentMetadataRecord = class ElementComponentMetadataRecord {
8
+ };
9
+ ElementComponentMetadataRecord = __decorate([
10
+ ComplexType({
11
+ description: 'Container for processor components',
12
+ additionalFields: () => ElementComponentMetadata,
13
+ })
14
+ ], ElementComponentMetadataRecord);
15
+ export { ElementComponentMetadataRecord };
16
+ /**
17
+ *
18
+ */
19
+ let ElementComponentMetadata = class ElementComponentMetadata {
20
+ propertyKey;
21
+ };
22
+ __decorate([
23
+ ApiField({
24
+ description: 'Class name of the component',
25
+ type: 'string',
26
+ }),
27
+ __metadata("design:type", String)
28
+ ], ElementComponentMetadata.prototype, "className", void 0);
29
+ __decorate([
30
+ ApiField({
31
+ description: 'Description of the component',
32
+ type: 'string',
33
+ }),
34
+ __metadata("design:type", String)
35
+ ], ElementComponentMetadata.prototype, "description", void 0);
36
+ __decorate([
37
+ ApiField({
38
+ description: 'Interfaces should be implemented by the component. This value is ignored if className is set',
39
+ type: 'string',
40
+ required: true,
41
+ examples: ['IoComponent'],
42
+ }),
43
+ __metadata("design:type", Array)
44
+ ], ElementComponentMetadata.prototype, "interfaces", void 0);
45
+ __decorate([
46
+ ApiField({
47
+ description: 'Determine if the component is required or not',
48
+ default: true,
49
+ }),
50
+ __metadata("design:type", Boolean)
51
+ ], ElementComponentMetadata.prototype, "required", void 0);
52
+ __decorate([
53
+ ApiField({
54
+ description: 'Variables to be overridden',
55
+ }),
56
+ __metadata("design:type", VariableMetadataRecord)
57
+ ], ElementComponentMetadata.prototype, "variables", void 0);
58
+ __decorate([
59
+ ApiField({
60
+ label: 'Components',
61
+ description: 'Components settings of the processor',
62
+ }),
63
+ __metadata("design:type", ElementComponentMetadataRecord)
64
+ ], ElementComponentMetadata.prototype, "components", void 0);
65
+ ElementComponentMetadata = __decorate([
66
+ ComplexType({
67
+ description: 'User defined variable definition',
68
+ })
69
+ ], ElementComponentMetadata);
70
+ export { ElementComponentMetadata };
@@ -0,0 +1,18 @@
1
+ import { AuthorMetadata } from './author-metadata.js';
2
+ import type { ElementComponentMetadataRecord } from './element-component-metadata.js';
3
+ import { VariableMetadataRecord } from './variable-metadata.js';
4
+ /**
5
+ *
6
+ */
7
+ export declare class ElementMetadata {
8
+ constructor(init?: Partial<ElementMetadata>);
9
+ abstract?: boolean;
10
+ className: string;
11
+ displayName: string;
12
+ iconUrl?: string;
13
+ description?: string;
14
+ author: AuthorMetadata;
15
+ variables?: VariableMetadataRecord;
16
+ components?: ElementComponentMetadataRecord;
17
+ tags: string[];
18
+ }
@@ -0,0 +1,81 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ComplexType } from '@opra/common';
3
+ import { AuthorMetadata } from './author-metadata.js';
4
+ import { VariableMetadataRecord } from './variable-metadata.js';
5
+ /**
6
+ *
7
+ */
8
+ let ElementMetadata = class ElementMetadata {
9
+ constructor(init) {
10
+ if (init)
11
+ Object.assign(this, init);
12
+ }
13
+ abstract;
14
+ };
15
+ __decorate([
16
+ ApiField({
17
+ label: 'Class Name',
18
+ description: 'Uniquely identifies the element (camelCase, PascalCase)',
19
+ required: true,
20
+ }),
21
+ __metadata("design:type", String)
22
+ ], ElementMetadata.prototype, "className", void 0);
23
+ __decorate([
24
+ ApiField({
25
+ label: 'Name',
26
+ description: 'Human friendly name',
27
+ required: true,
28
+ }),
29
+ __metadata("design:type", String)
30
+ ], ElementMetadata.prototype, "displayName", void 0);
31
+ __decorate([
32
+ ApiField({
33
+ label: 'Icon',
34
+ description: 'Icon url',
35
+ }),
36
+ __metadata("design:type", String)
37
+ ], ElementMetadata.prototype, "iconUrl", void 0);
38
+ __decorate([
39
+ ApiField({
40
+ label: 'Description',
41
+ description: 'Long description',
42
+ }),
43
+ __metadata("design:type", String)
44
+ ], ElementMetadata.prototype, "description", void 0);
45
+ __decorate([
46
+ ApiField({
47
+ label: 'Author',
48
+ description: 'Author',
49
+ }),
50
+ __metadata("design:type", AuthorMetadata)
51
+ ], ElementMetadata.prototype, "author", void 0);
52
+ __decorate([
53
+ ApiField({
54
+ label: 'Variables',
55
+ description: 'User defined variables',
56
+ }),
57
+ __metadata("design:type", VariableMetadataRecord)
58
+ ], ElementMetadata.prototype, "variables", void 0);
59
+ __decorate([
60
+ ApiField({
61
+ type: async () => (await import('./element-component-metadata.js'))
62
+ .ElementComponentMetadataRecord,
63
+ label: 'Components',
64
+ description: 'Components',
65
+ }),
66
+ __metadata("design:type", Function)
67
+ ], ElementMetadata.prototype, "components", void 0);
68
+ __decorate([
69
+ ApiField({
70
+ label: 'Tags',
71
+ description: 'Tags of the component. Tags are used to group components',
72
+ type: 'string',
73
+ isArray: true,
74
+ }),
75
+ __metadata("design:type", Array)
76
+ ], ElementMetadata.prototype, "tags", void 0);
77
+ ElementMetadata = __decorate([
78
+ ComplexType(),
79
+ __metadata("design:paramtypes", [Object])
80
+ ], ElementMetadata);
81
+ export { ElementMetadata };
@@ -0,0 +1,7 @@
1
+ /**
2
+ *
3
+ */
4
+ export declare class PackageMetadata {
5
+ constructor(init?: Partial<PackageMetadata>);
6
+ name: string;
7
+ }
@@ -0,0 +1,27 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ApiField, ComplexType, StringType } from '@opra/common';
3
+ /**
4
+ *
5
+ */
6
+ let PackageMetadata = class PackageMetadata {
7
+ constructor(init) {
8
+ if (init)
9
+ Object.assign(this, init);
10
+ }
11
+ };
12
+ __decorate([
13
+ ApiField({
14
+ label: 'Name',
15
+ description: 'Uniquely identifies the package',
16
+ required: true,
17
+ type: new StringType({
18
+ pattern: /^[a-z][a-z_-]+$/,
19
+ }),
20
+ }),
21
+ __metadata("design:type", String)
22
+ ], PackageMetadata.prototype, "name", void 0);
23
+ PackageMetadata = __decorate([
24
+ ComplexType(),
25
+ __metadata("design:paramtypes", [Object])
26
+ ], PackageMetadata);
27
+ export { PackageMetadata };
@@ -0,0 +1,5 @@
1
+ import { ElementMetadata } from './element-metadata.js';
2
+ export declare class ProcessorMetadata extends ElementMetadata {
3
+ constructor(init?: Partial<ProcessorMetadata>);
4
+ staticEvents?: Record<string, string>;
5
+ }
@@ -0,0 +1,14 @@
1
+ import { __decorate, __metadata } from "tslib";
2
+ import { ComplexType } from '@opra/common';
3
+ import { ElementMetadata } from './element-metadata.js';
4
+ let ProcessorMetadata = class ProcessorMetadata extends ElementMetadata {
5
+ constructor(init) {
6
+ super(init);
7
+ }
8
+ staticEvents;
9
+ };
10
+ ProcessorMetadata = __decorate([
11
+ ComplexType(),
12
+ __metadata("design:paramtypes", [Object])
13
+ ], ProcessorMetadata);
14
+ export { ProcessorMetadata };
@@ -0,0 +1,31 @@
1
+ import { VariableFormat } from '../enums/variable-format.enum.js';
2
+ import { VariableType } from '../enums/variable-type.enum.js';
3
+ /**
4
+ *
5
+ */
6
+ export declare class VariableMetadataRecord {
7
+ [key: string]: VariableMetadata;
8
+ }
9
+ /**
10
+ *
11
+ */
12
+ export declare class VariableMetadata {
13
+ ignored?: boolean;
14
+ hotPlug?: boolean;
15
+ label?: string;
16
+ description?: string;
17
+ examples?: string[];
18
+ choice?: string[];
19
+ type?: VariableType;
20
+ variables?: VariableMetadataRecord;
21
+ format?: VariableFormat;
22
+ enumValues?: (string | number)[];
23
+ isArray?: boolean;
24
+ minOccurs?: number;
25
+ maxOccurs?: number;
26
+ required?: boolean;
27
+ default?: any;
28
+ pattern?: string;
29
+ minValue?: string | number;
30
+ maxValue?: string | number;
31
+ }