@decaf-ts/for-angular 0.0.3

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 (43) hide show
  1. package/LICENSE.md +21 -0
  2. package/README.md +297 -0
  3. package/dist/for-angular/README.md +297 -0
  4. package/dist/for-angular/assets/i18n/en.json +21 -0
  5. package/dist/for-angular/components/decaf-crud-field/decaf-crud-field.component.d.ts +22 -0
  6. package/dist/for-angular/components/decaf-crud-form/constants.d.ts +5 -0
  7. package/dist/for-angular/components/decaf-crud-form/decaf-crud-form.component.d.ts +28 -0
  8. package/dist/for-angular/components/decaf-crud-form/types.d.ts +17 -0
  9. package/dist/for-angular/components/decaf-model-renderer/decaf-model-renderer.component.d.ts +20 -0
  10. package/dist/for-angular/directives/decaf-field.directive.d.ts +8 -0
  11. package/dist/for-angular/engine/DynamicModule.d.ts +2 -0
  12. package/dist/for-angular/engine/NgxCrudFormField.d.ts +115 -0
  13. package/dist/for-angular/engine/NgxFormService.d.ts +119 -0
  14. package/dist/for-angular/engine/NgxRenderingEngine.d.ts +17 -0
  15. package/dist/for-angular/engine/ValidatorFactory.d.ts +4 -0
  16. package/dist/for-angular/engine/constants.d.ts +10 -0
  17. package/dist/for-angular/engine/decorators.d.ts +1 -0
  18. package/dist/for-angular/engine/index.d.ts +5 -0
  19. package/dist/for-angular/engine/types.d.ts +32 -0
  20. package/dist/for-angular/esm2022/components/decaf-crud-field/decaf-crud-field.component.mjs +66 -0
  21. package/dist/for-angular/esm2022/components/decaf-crud-form/constants.mjs +14 -0
  22. package/dist/for-angular/esm2022/components/decaf-crud-form/decaf-crud-form.component.mjs +84 -0
  23. package/dist/for-angular/esm2022/components/decaf-crud-form/types.mjs +2 -0
  24. package/dist/for-angular/esm2022/components/decaf-model-renderer/decaf-model-renderer.component.mjs +46 -0
  25. package/dist/for-angular/esm2022/decaf-ts-for-angular.mjs +5 -0
  26. package/dist/for-angular/esm2022/directives/decaf-field.directive.mjs +23 -0
  27. package/dist/for-angular/esm2022/engine/DynamicModule.mjs +3 -0
  28. package/dist/for-angular/esm2022/engine/NgxCrudFormField.mjs +118 -0
  29. package/dist/for-angular/esm2022/engine/NgxFormService.mjs +232 -0
  30. package/dist/for-angular/esm2022/engine/NgxRenderingEngine.mjs +35 -0
  31. package/dist/for-angular/esm2022/engine/ValidatorFactory.mjs +48 -0
  32. package/dist/for-angular/esm2022/engine/constants.mjs +12 -0
  33. package/dist/for-angular/esm2022/engine/decorators.mjs +17 -0
  34. package/dist/for-angular/esm2022/engine/index.mjs +6 -0
  35. package/dist/for-angular/esm2022/engine/types.mjs +2 -0
  36. package/dist/for-angular/esm2022/interfaces.mjs +2 -0
  37. package/dist/for-angular/esm2022/public-apis.mjs +5 -0
  38. package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs +675 -0
  39. package/dist/for-angular/fesm2022/decaf-ts-for-angular.mjs.map +1 -0
  40. package/dist/for-angular/index.d.ts +5 -0
  41. package/dist/for-angular/interfaces.d.ts +8 -0
  42. package/dist/for-angular/public-apis.d.ts +4 -0
  43. package/package.json +81 -0
@@ -0,0 +1,35 @@
1
+ import { RenderingEngine } from '@decaf-ts/ui-decorators';
2
+ import { AngularEngineKeys } from './constants';
3
+ import { InternalError } from '@decaf-ts/db-decorators';
4
+ export class NgxRenderingEngine extends RenderingEngine {
5
+ constructor() {
6
+ super('angular');
7
+ }
8
+ async initialize(...args) {
9
+ if (this.initialized)
10
+ return;
11
+ // ValidatableByType[]
12
+ this.initialized = true;
13
+ }
14
+ static registerComponent(name, constructor, metadata) {
15
+ if (!this._components)
16
+ this._components = {};
17
+ if (name in this._components)
18
+ throw new InternalError(`Component already registered under ${name}`);
19
+ this._components[name] = {
20
+ constructor: constructor,
21
+ metadata: metadata,
22
+ };
23
+ }
24
+ static components(selector) {
25
+ if (!selector)
26
+ return Object.values(this._components);
27
+ if (!(selector in this._components))
28
+ throw new InternalError(`No Component registered under ${selector}`);
29
+ return this._components[selector];
30
+ }
31
+ static key(key) {
32
+ return `${AngularEngineKeys.REFLECT}${key}`;
33
+ }
34
+ }
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmd4UmVuZGVyaW5nRW5naW5lLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvTmd4UmVuZGVyaW5nRW5naW5lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUUxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBRXhELE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxlQUF1QztJQU03RTtRQUNFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRVEsS0FBSyxDQUFDLFVBQVUsQ0FBQyxHQUFHLElBQVc7UUFDdEMsSUFBSSxJQUFJLENBQUMsV0FBVztZQUFFLE9BQU87UUFDN0Isc0JBQXNCO1FBQ3RCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSSxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLENBQUMsaUJBQWlCLENBQ3RCLElBQVksRUFDWixXQUFpQyxFQUNqQyxRQUEyQjtRQUUzQixJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVc7WUFBRSxJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUM3QyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVztZQUMxQixNQUFNLElBQUksYUFBYSxDQUFDLHNDQUFzQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBQ3hFLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEdBQUc7WUFDdkIsV0FBVyxFQUFFLFdBQVc7WUFDeEIsUUFBUSxFQUFFLFFBQVE7U0FDbkIsQ0FBQztJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsVUFBVSxDQUFDLFFBQWlCO1FBQ2pDLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUN0RCxJQUFJLENBQUMsQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQztZQUNqQyxNQUFNLElBQUksYUFBYSxDQUFDLGlDQUFpQyxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ3ZFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFVLEdBQUcsQ0FBQyxHQUFXO1FBQzdCLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxPQUFPLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDOUMsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmVuZGVyaW5nRW5naW5lIH0gZnJvbSAnQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgQW5ndWxhckZpZWxkRGVmaW5pdGlvbiwgQ29tcG9uZW50TWV0YWRhdGEgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEFuZ3VsYXJFbmdpbmVLZXlzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gJ0BkZWNhZi10cy9kYi1kZWNvcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIE5neFJlbmRlcmluZ0VuZ2luZSBleHRlbmRzIFJlbmRlcmluZ0VuZ2luZTxBbmd1bGFyRmllbGREZWZpbml0aW9uPiB7XG4gIHByaXZhdGUgc3RhdGljIF9jb21wb25lbnRzOiBSZWNvcmQ8XG4gICAgc3RyaW5nLFxuICAgIHsgY29uc3RydWN0b3I6IENvbnN0cnVjdG9yPHVua25vd24+OyBtZXRhZGF0YTogQ29tcG9uZW50TWV0YWRhdGEgfVxuICA+O1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCdhbmd1bGFyJyk7XG4gIH1cblxuICBvdmVycmlkZSBhc3luYyBpbml0aWFsaXplKC4uLmFyZ3M6IGFueVtdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuaW5pdGlhbGl6ZWQpIHJldHVybjtcbiAgICAvLyBWYWxpZGF0YWJsZUJ5VHlwZVtdXG4gICAgdGhpcy5pbml0aWFsaXplZCA9IHRydWU7XG4gIH1cblxuICBzdGF0aWMgcmVnaXN0ZXJDb21wb25lbnQoXG4gICAgbmFtZTogc3RyaW5nLFxuICAgIGNvbnN0cnVjdG9yOiBDb25zdHJ1Y3Rvcjx1bmtub3duPixcbiAgICBtZXRhZGF0YTogQ29tcG9uZW50TWV0YWRhdGEsXG4gICkge1xuICAgIGlmICghdGhpcy5fY29tcG9uZW50cykgdGhpcy5fY29tcG9uZW50cyA9IHt9O1xuICAgIGlmIChuYW1lIGluIHRoaXMuX2NvbXBvbmVudHMpXG4gICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihgQ29tcG9uZW50IGFscmVhZHkgcmVnaXN0ZXJlZCB1bmRlciAke25hbWV9YCk7XG4gICAgdGhpcy5fY29tcG9uZW50c1tuYW1lXSA9IHtcbiAgICAgIGNvbnN0cnVjdG9yOiBjb25zdHJ1Y3RvcixcbiAgICAgIG1ldGFkYXRhOiBtZXRhZGF0YSxcbiAgICB9O1xuICB9XG5cbiAgc3RhdGljIGNvbXBvbmVudHMoc2VsZWN0b3I/OiBzdHJpbmcpIHtcbiAgICBpZiAoIXNlbGVjdG9yKSByZXR1cm4gT2JqZWN0LnZhbHVlcyh0aGlzLl9jb21wb25lbnRzKTtcbiAgICBpZiAoIShzZWxlY3RvciBpbiB0aGlzLl9jb21wb25lbnRzKSlcbiAgICAgIHRocm93IG5ldyBJbnRlcm5hbEVycm9yKGBObyBDb21wb25lbnQgcmVnaXN0ZXJlZCB1bmRlciAke3NlbGVjdG9yfWApO1xuICAgIHJldHVybiB0aGlzLl9jb21wb25lbnRzW3NlbGVjdG9yXTtcbiAgfVxuXG4gIHN0YXRpYyBvdmVycmlkZSBrZXkoa2V5OiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYCR7QW5ndWxhckVuZ2luZUtleXMuUkVGTEVDVH0ke2tleX1gO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,48 @@
1
+ import { Validation, ValidationKeys, } from '@decaf-ts/decorator-validation';
2
+ import { RenderingEngine } from '@decaf-ts/ui-decorators';
3
+ export class ValidatorFactory {
4
+ static spawn(key, arg) {
5
+ if (!Validation.keys().includes(key))
6
+ throw new Error('Unsupported custom validation');
7
+ /**
8
+ * TODO: This is only needed until the validator refacture
9
+ * @param arg
10
+ */
11
+ const parseArgs = (arg) => {
12
+ switch (key) {
13
+ case ValidationKeys.REQUIRED:
14
+ case ValidationKeys.EMAIL:
15
+ case ValidationKeys.URL:
16
+ case ValidationKeys.PASSWORD:
17
+ return [];
18
+ case ValidationKeys.TYPE:
19
+ arg = RenderingEngine.get().translate(arg, false);
20
+ }
21
+ return [arg];
22
+ };
23
+ const validatorFn = (control) => {
24
+ const validator = Validation.get(key);
25
+ const value = control.value;
26
+ const actualArg = parseArgs(arg);
27
+ if (key === ValidationKeys.TYPE) {
28
+ }
29
+ let errs;
30
+ try {
31
+ errs = validator.hasErrors(value, ...actualArg);
32
+ }
33
+ catch (e) {
34
+ console.warn(`${key} validator failed to validate: ${e}`);
35
+ }
36
+ if (!errs)
37
+ return null;
38
+ const result = {};
39
+ result[key] = true;
40
+ return result;
41
+ };
42
+ Object.defineProperty(validatorFn, 'name', {
43
+ value: `${key}Validator`,
44
+ });
45
+ return validatorFn;
46
+ }
47
+ }
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmFsaWRhdG9yRmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL1ZhbGlkYXRvckZhY3RvcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLFVBQVUsRUFDVixjQUFjLEdBRWYsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFMUQsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixNQUFNLENBQUMsS0FBSyxDQUFDLEdBQVcsRUFBRSxHQUFZO1FBQ3BDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxFQUFFLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQztZQUNsQyxNQUFNLElBQUksS0FBSyxDQUFDLCtCQUErQixDQUFDLENBQUM7UUFFbkQ7OztXQUdHO1FBQ0gsTUFBTSxTQUFTLEdBQUcsQ0FBQyxHQUFZLEVBQUUsRUFBRTtZQUNqQyxRQUFRLEdBQUcsRUFBRSxDQUFDO2dCQUNaLEtBQUssY0FBYyxDQUFDLFFBQVEsQ0FBQztnQkFDN0IsS0FBSyxjQUFjLENBQUMsS0FBSyxDQUFDO2dCQUMxQixLQUFLLGNBQWMsQ0FBQyxHQUFHLENBQUM7Z0JBQ3hCLEtBQUssY0FBYyxDQUFDLFFBQVE7b0JBQzFCLE9BQU8sRUFBRSxDQUFDO2dCQUNaLEtBQUssY0FBYyxDQUFDLElBQUk7b0JBQ3RCLEdBQUcsR0FBRyxlQUFlLENBQUMsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLEdBQWEsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUNoRSxDQUFDO1lBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsQ0FBQyxDQUFDO1FBRUYsTUFBTSxXQUFXLEdBQWdCLENBQy9CLE9BQXdCLEVBQ0MsRUFBRTtZQUMzQixNQUFNLFNBQVMsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBYyxDQUFDO1lBQ25ELE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDNUIsTUFBTSxTQUFTLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pDLElBQUksR0FBRyxLQUFLLGNBQWMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNsQyxDQUFDO1lBQ0QsSUFBSSxJQUFJLENBQUM7WUFDVCxJQUFJLENBQUM7Z0JBQ0gsSUFBSSxHQUFHLFNBQVMsQ0FBQyxTQUFTLENBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxDQUFDLENBQUM7WUFDbEQsQ0FBQztZQUFDLE9BQU8sQ0FBVSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLGtDQUFrQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQzVELENBQUM7WUFDRCxJQUFJLENBQUMsSUFBSTtnQkFBRSxPQUFPLElBQUksQ0FBQztZQUN2QixNQUFNLE1BQU0sR0FBNEIsRUFBRSxDQUFDO1lBQzNDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLENBQUM7WUFDbkIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLGNBQWMsQ0FBQyxXQUFXLEVBQUUsTUFBTSxFQUFFO1lBQ3pDLEtBQUssRUFBRSxHQUFHLEdBQUcsV0FBVztTQUN6QixDQUFDLENBQUM7UUFFSCxPQUFPLFdBQVcsQ0FBQztJQUNyQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBYnN0cmFjdENvbnRyb2wsIFZhbGlkYXRpb25FcnJvcnMsIFZhbGlkYXRvckZuIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgVmFsaWRhdGlvbixcbiAgVmFsaWRhdGlvbktleXMsXG4gIFZhbGlkYXRvcixcbn0gZnJvbSAnQGRlY2FmLXRzL2RlY29yYXRvci12YWxpZGF0aW9uJztcbmltcG9ydCB7IFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcblxuZXhwb3J0IGNsYXNzIFZhbGlkYXRvckZhY3Rvcnkge1xuICBzdGF0aWMgc3Bhd24oa2V5OiBzdHJpbmcsIGFyZzogdW5rbm93bikge1xuICAgIGlmICghVmFsaWRhdGlvbi5rZXlzKCkuaW5jbHVkZXMoa2V5KSlcbiAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgY3VzdG9tIHZhbGlkYXRpb24nKTtcblxuICAgIC8qKlxuICAgICAqIFRPRE86IFRoaXMgaXMgb25seSBuZWVkZWQgdW50aWwgdGhlIHZhbGlkYXRvciByZWZhY3R1cmVcbiAgICAgKiBAcGFyYW0gYXJnXG4gICAgICovXG4gICAgY29uc3QgcGFyc2VBcmdzID0gKGFyZzogdW5rbm93bikgPT4ge1xuICAgICAgc3dpdGNoIChrZXkpIHtcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5SRVFVSVJFRDpcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5FTUFJTDpcbiAgICAgICAgY2FzZSBWYWxpZGF0aW9uS2V5cy5VUkw6XG4gICAgICAgIGNhc2UgVmFsaWRhdGlvbktleXMuUEFTU1dPUkQ6XG4gICAgICAgICAgcmV0dXJuIFtdO1xuICAgICAgICBjYXNlIFZhbGlkYXRpb25LZXlzLlRZUEU6XG4gICAgICAgICAgYXJnID0gUmVuZGVyaW5nRW5naW5lLmdldCgpLnRyYW5zbGF0ZShhcmcgYXMgc3RyaW5nLCBmYWxzZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gW2FyZ107XG4gICAgfTtcblxuICAgIGNvbnN0IHZhbGlkYXRvckZuOiBWYWxpZGF0b3JGbiA9IChcbiAgICAgIGNvbnRyb2w6IEFic3RyYWN0Q29udHJvbCxcbiAgICApOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCA9PiB7XG4gICAgICBjb25zdCB2YWxpZGF0b3IgPSBWYWxpZGF0aW9uLmdldChrZXkpIGFzIFZhbGlkYXRvcjtcbiAgICAgIGNvbnN0IHZhbHVlID0gY29udHJvbC52YWx1ZTtcbiAgICAgIGNvbnN0IGFjdHVhbEFyZyA9IHBhcnNlQXJncyhhcmcpO1xuICAgICAgaWYgKGtleSA9PT0gVmFsaWRhdGlvbktleXMuVFlQRSkge1xuICAgICAgfVxuICAgICAgbGV0IGVycnM7XG4gICAgICB0cnkge1xuICAgICAgICBlcnJzID0gdmFsaWRhdG9yLmhhc0Vycm9ycyh2YWx1ZSwgLi4uYWN0dWFsQXJnKTtcbiAgICAgIH0gY2F0Y2ggKGU6IHVua25vd24pIHtcbiAgICAgICAgY29uc29sZS53YXJuKGAke2tleX0gdmFsaWRhdG9yIGZhaWxlZCB0byB2YWxpZGF0ZTogJHtlfWApO1xuICAgICAgfVxuICAgICAgaWYgKCFlcnJzKSByZXR1cm4gbnVsbDtcbiAgICAgIGNvbnN0IHJlc3VsdDogUmVjb3JkPHN0cmluZywgYm9vbGVhbj4gPSB7fTtcbiAgICAgIHJlc3VsdFtrZXldID0gdHJ1ZTtcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfTtcblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh2YWxpZGF0b3JGbiwgJ25hbWUnLCB7XG4gICAgICB2YWx1ZTogYCR7a2V5fVZhbGlkYXRvcmAsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdmFsaWRhdG9yRm47XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,12 @@
1
+ import { UIKeys } from '@decaf-ts/ui-decorators';
2
+ export const AngularEngineKeys = {
3
+ REFLECT: `${UIKeys.REFLECT}.angular.`,
4
+ DYNAMIC: 'dynamic-component',
5
+ ANNOTATIONS: '__annotations__',
6
+ NG_REFLECT: 'ng-reflect-',
7
+ };
8
+ export const FormConstants = {
9
+ VALID: 'VALID',
10
+ INVALID: 'INVALID',
11
+ };
12
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9lbmdpbmUvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRztJQUMvQixPQUFPLEVBQUUsR0FBRyxNQUFNLENBQUMsT0FBTyxXQUFXO0lBQ3JDLE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixVQUFVLEVBQUUsYUFBYTtDQUMxQixDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHO0lBQzNCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLFNBQVM7Q0FDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFVJS2V5cyB9IGZyb20gJ0BkZWNhZi10cy91aS1kZWNvcmF0b3JzJztcblxuZXhwb3J0IGNvbnN0IEFuZ3VsYXJFbmdpbmVLZXlzID0ge1xuICBSRUZMRUNUOiBgJHtVSUtleXMuUkVGTEVDVH0uYW5ndWxhci5gLFxuICBEWU5BTUlDOiAnZHluYW1pYy1jb21wb25lbnQnLFxuICBBTk5PVEFUSU9OUzogJ19fYW5ub3RhdGlvbnNfXycsXG4gIE5HX1JFRkxFQ1Q6ICduZy1yZWZsZWN0LScsXG59O1xuXG5leHBvcnQgY29uc3QgRm9ybUNvbnN0YW50cyA9IHtcbiAgVkFMSUQ6ICdWQUxJRCcsXG4gIElOVkFMSUQ6ICdJTlZBTElEJyxcbn07XG4iXX0=
@@ -0,0 +1,17 @@
1
+ import { apply, metadata } from '@decaf-ts/reflection';
2
+ import { NgxRenderingEngine } from './NgxRenderingEngine';
3
+ import { AngularEngineKeys } from './constants';
4
+ import { InternalError } from '@decaf-ts/db-decorators';
5
+ export function Dynamic() {
6
+ return apply((original) => {
7
+ const annotation = Object.getOwnPropertyDescriptor(original, AngularEngineKeys.ANNOTATIONS);
8
+ if (!annotation || !annotation.value)
9
+ throw new InternalError(`Could not find Component metadata. @Dynamic decorator must come above @Component`);
10
+ // console.log(
11
+ // `Could not find Component metadata. @Dynamic decorator must come above @Component`,
12
+ // );
13
+ const decorator = annotation.value[0];
14
+ NgxRenderingEngine.registerComponent(decorator.selector, original, decorator);
15
+ }, metadata(NgxRenderingEngine.key(AngularEngineKeys.DYNAMIC), true));
16
+ }
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvZW5naW5lL2RlY29yYXRvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBR3hELE1BQU0sVUFBVSxPQUFPO0lBQ3JCLE9BQU8sS0FBSyxDQUNWLENBQUMsUUFBZ0IsRUFBRSxFQUFFO1FBQ25CLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyx3QkFBd0IsQ0FDaEQsUUFBUSxFQUNSLGlCQUFpQixDQUFDLFdBQVcsQ0FDOUIsQ0FBQztRQUNGLElBQUksQ0FBQyxVQUFVLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSztZQUNsQyxNQUFNLElBQUksYUFBYSxDQUNyQixrRkFBa0YsQ0FDbkYsQ0FBQztRQUNKLGVBQWU7UUFDZix3RkFBd0Y7UUFDeEYsS0FBSztRQUNMLE1BQU0sU0FBUyxHQUFzQixVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3pELGtCQUFrQixDQUFDLGlCQUFpQixDQUNsQyxTQUFTLENBQUMsUUFBUSxFQUNsQixRQUEyQyxFQUMzQyxTQUFTLENBQ1YsQ0FBQztJQUNKLENBQUMsRUFDRCxRQUFRLENBQUMsa0JBQWtCLENBQUMsR0FBRyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUNsRSxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGFwcGx5LCBtZXRhZGF0YSB9IGZyb20gJ0BkZWNhZi10cy9yZWZsZWN0aW9uJztcbmltcG9ydCB7IE5neFJlbmRlcmluZ0VuZ2luZSB9IGZyb20gJy4vTmd4UmVuZGVyaW5nRW5naW5lJztcbmltcG9ydCB7IEFuZ3VsYXJFbmdpbmVLZXlzIH0gZnJvbSAnLi9jb25zdGFudHMnO1xuaW1wb3J0IHsgQ29uc3RydWN0b3IgfSBmcm9tICdAZGVjYWYtdHMvZGVjb3JhdG9yLXZhbGlkYXRpb24nO1xuaW1wb3J0IHsgSW50ZXJuYWxFcnJvciB9IGZyb20gJ0BkZWNhZi10cy9kYi1kZWNvcmF0b3JzJztcbmltcG9ydCB7IENvbXBvbmVudE1ldGFkYXRhIH0gZnJvbSAnLi90eXBlcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBEeW5hbWljKCkge1xuICByZXR1cm4gYXBwbHkoXG4gICAgKG9yaWdpbmFsOiBvYmplY3QpID0+IHtcbiAgICAgIGNvbnN0IGFubm90YXRpb24gPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKFxuICAgICAgICBvcmlnaW5hbCxcbiAgICAgICAgQW5ndWxhckVuZ2luZUtleXMuQU5OT1RBVElPTlMsXG4gICAgICApO1xuICAgICAgaWYgKCFhbm5vdGF0aW9uIHx8ICFhbm5vdGF0aW9uLnZhbHVlKVxuICAgICAgICB0aHJvdyBuZXcgSW50ZXJuYWxFcnJvcihcbiAgICAgICAgICBgQ291bGQgbm90IGZpbmQgQ29tcG9uZW50IG1ldGFkYXRhLiBARHluYW1pYyBkZWNvcmF0b3IgbXVzdCBjb21lIGFib3ZlIEBDb21wb25lbnRgLFxuICAgICAgICApO1xuICAgICAgLy8gY29uc29sZS5sb2coXG4gICAgICAvLyAgIGBDb3VsZCBub3QgZmluZCBDb21wb25lbnQgbWV0YWRhdGEuIEBEeW5hbWljIGRlY29yYXRvciBtdXN0IGNvbWUgYWJvdmUgQENvbXBvbmVudGAsXG4gICAgICAvLyApO1xuICAgICAgY29uc3QgZGVjb3JhdG9yOiBDb21wb25lbnRNZXRhZGF0YSA9IGFubm90YXRpb24udmFsdWVbMF07XG4gICAgICBOZ3hSZW5kZXJpbmdFbmdpbmUucmVnaXN0ZXJDb21wb25lbnQoXG4gICAgICAgIGRlY29yYXRvci5zZWxlY3RvcixcbiAgICAgICAgb3JpZ2luYWwgYXMgdW5rbm93biBhcyBDb25zdHJ1Y3Rvcjx1bmtub3duPixcbiAgICAgICAgZGVjb3JhdG9yLFxuICAgICAgKTtcbiAgICB9LFxuICAgIG1ldGFkYXRhKE5neFJlbmRlcmluZ0VuZ2luZS5rZXkoQW5ndWxhckVuZ2luZUtleXMuRFlOQU1JQyksIHRydWUpLFxuICApO1xufVxuIl19
@@ -0,0 +1,6 @@
1
+ export * from './constants';
2
+ export * from './decorators';
3
+ export * from './DynamicModule';
4
+ export * from './NgxRenderingEngine';
5
+ export * from './types';
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2NvbnN0YW50cyc7XG5leHBvcnQgKiBmcm9tICcuL2RlY29yYXRvcnMnO1xuZXhwb3J0ICogZnJvbSAnLi9EeW5hbWljTW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vTmd4UmVuZGVyaW5nRW5naW5lJztcbmV4cG9ydCAqIGZyb20gJy4vdHlwZXMnO1xuIl19
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL2VuZ2luZS90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRmllbGRQcm9wZXJ0aWVzIH0gZnJvbSAnQGRlY2FmLXRzL3VpLWRlY29yYXRvcnMnO1xuaW1wb3J0IHsgSW9uQ2hlY2tib3gsIElvbklucHV0LCBJb25TZWxlY3QsIElvblRleHRhcmVhIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xuaW1wb3J0IHsgVGV4dEZpZWxkVHlwZXMgfSBmcm9tICdAaW9uaWMvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEZpZWxkVXBkYXRlTW9kZSA9ICdjaGFuZ2UnIHwgJ2JsdXInIHwgJ3N1Ym1pdCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29tcG9uZW50TWV0YWRhdGEge1xuICBjaGFuZ2VEZXRlY3Rpb246IG51bWJlcjtcbiAgc2VsZWN0b3I6IHN0cmluZztcbiAgc3RhbmRhbG9uZTogYm9vbGVhbjtcbiAgaW1wb3J0czogKG5ldyAoLi4uYXJnczogdW5rbm93bltdKSA9PiB1bmtub3duKVtdO1xuICB0ZW1wbGF0ZTogc3RyaW5nO1xuICBzdHlsZXM6IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgdHlwZSBBbmd1bGFyRmllbGREZWZpbml0aW9uID0gRmllbGRQcm9wZXJ0aWVzICZcbiAgT21pdDxcbiAgICBJb25JbnB1dCxcbiAgICB8ICdpb25JbnB1dCdcbiAgICB8ICdpb25Gb2N1cydcbiAgICB8ICdpb25DaGFuZ2UnXG4gICAgfCAnaW9uQmx1cidcbiAgICB8ICdnZXRJbnB1dEVsZW1lbnQnXG4gICAgfCAnc2V0Rm9jdXMnXG4gICAgfCAnbGFiZWwnXG4gICAgfCAnZWwnXG4gICAgfCAneidcbiAgICB8ICd0eXBlJ1xuICA+ICZcbiAgUGljazxcbiAgICBJb25TZWxlY3QsXG4gICAgJ2NhbmNlbFRleHQnIHwgJ2ludGVyZmFjZScgfCAnc2VsZWN0ZWRUZXh0JyB8ICdpbnRlcmZhY2VPcHRpb25zJ1xuICA+ICZcbiAgUGljazxJb25UZXh0YXJlYSwgJ3Jvd3MnIHwgJ2NvbHMnPiAmXG4gIFBpY2s8SW9uQ2hlY2tib3gsICdhbGlnbm1lbnQnIHwgJ2p1c3RpZnknIHwgJ2NoZWNrZWQnPiAmIHtcbiAgICB0eXBlOiAnY2hlY2tib3gnIHwgJ3JhZGlvJyB8ICdzZWxlY3QnIHwgVGV4dEZpZWxkVHlwZXMgfCAndGV4dGFyZWEnO1xuICAgIGNsYXNzTmFtZTogc3RyaW5nIHwgc3RyaW5nW107XG4gIH0gJiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcblxuZXhwb3J0IHR5cGUgU3RyaW5nT3JCb29sZWFuID0gJ3RydWUnIHwgJ2ZhbHNlJyB8IGJvb2xlYW47XG5cbmV4cG9ydCB0eXBlIFNlbGVjdE9wdGlvbiA9IElucHV0T3B0aW9uICYgeyBzZWxlY3RlZD86IGJvb2xlYW4gfTtcbmV4cG9ydCB0eXBlIENoZWNrYm94T3B0aW9uID0gUmFkaW9PcHRpb247XG5leHBvcnQgdHlwZSBSYWRpb09wdGlvbiA9IElucHV0T3B0aW9uICYgeyBjaGVja2VkPzogYm9vbGVhbiB9O1xuXG5leHBvcnQgaW50ZXJmYWNlIElucHV0T3B0aW9uIHtcbiAgdGV4dDogc3RyaW5nO1xuICB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyO1xuICBkaXNhYmxlZD86IFN0cmluZ09yQm9vbGVhbjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBpY29uPzogc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBIVE1MRm9ybVRhcmdldCA9ICdfYmxhbmsnIHwgJ19zZWxmJyB8ICdfcGFyZW50JyB8ICdfdG9wJyB8IHN0cmluZztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9saWIvaW50ZXJmYWNlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIENvbXBvbmVudEhvbGRlciB7XG4gIGNvbXBvbmVudDogRWxlbWVudFJlZjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGb3JtRWxlbWVudCBleHRlbmRzIENvbXBvbmVudEhvbGRlciB7XG4gIGZvcm1Hcm91cDogRm9ybUdyb3VwO1xufVxuIl19
@@ -0,0 +1,5 @@
1
+ export * from './components/decaf-model-renderer/decaf-model-renderer.component';
2
+ export * from './components/decaf-crud-field/decaf-crud-field.component';
3
+ export * from './components/decaf-crud-form/decaf-crud-form.component';
4
+ export * from './engine';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGliL3B1YmxpYy1hcGlzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsa0VBQWtFLENBQUM7QUFDakYsY0FBYywwREFBMEQsQ0FBQztBQUN6RSxjQUFjLHdEQUF3RCxDQUFDO0FBQ3ZFLGNBQWMsVUFBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9jb21wb25lbnRzL2RlY2FmLW1vZGVsLXJlbmRlcmVyL2RlY2FmLW1vZGVsLXJlbmRlcmVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVjYWYtY3J1ZC1maWVsZC9kZWNhZi1jcnVkLWZpZWxkLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2NvbXBvbmVudHMvZGVjYWYtY3J1ZC1mb3JtL2RlY2FmLWNydWQtZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9lbmdpbmUnO1xuIl19