@flusys/nestjs-form-builder 7.1.0 → 8.0.0-beta.1

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 (118) hide show
  1. package/config/index.d.ts +3 -3
  2. package/controllers/form-result.controller.d.ts +3 -3
  3. package/controllers/form.controller.d.ts +3 -3
  4. package/controllers/index.d.ts +2 -2
  5. package/docs/form-builder-swagger.config.d.ts +2 -2
  6. package/docs/index.d.ts +1 -1
  7. package/dtos/form.dto.d.ts +1 -1
  8. package/dtos/index.d.ts +2 -2
  9. package/entities/form-with-company.entity.d.ts +1 -1
  10. package/entities/form.entity.d.ts +1 -1
  11. package/entities/index.d.ts +7 -7
  12. package/enums/index.d.ts +1 -1
  13. package/fesm/262.js +1841 -0
  14. package/fesm/98.js +807 -0
  15. package/fesm/config/index.js +98 -3
  16. package/fesm/controllers/index.js +14 -2
  17. package/fesm/docs/index.js +171 -1
  18. package/fesm/dtos/index.js +571 -2
  19. package/fesm/entities/index.js +342 -10
  20. package/fesm/enums/index.js +38 -1
  21. package/fesm/index.js +482 -10
  22. package/fesm/interfaces/index.js +17 -3
  23. package/fesm/modules/index.js +178 -1
  24. package/fesm/runtime.js +85 -0
  25. package/fesm/services/index.js +35 -4
  26. package/index.d.ts +10 -10
  27. package/interfaces/form-builder-module.interface.d.ts +3 -3
  28. package/interfaces/form-result.interface.d.ts +1 -1
  29. package/interfaces/form.interface.d.ts +2 -2
  30. package/interfaces/index.d.ts +3 -3
  31. package/modules/form-builder.module.d.ts +2 -2
  32. package/modules/index.d.ts +1 -1
  33. package/package.json +26 -36
  34. package/services/form-builder-config.service.d.ts +4 -4
  35. package/services/form-builder-datasource.provider.d.ts +3 -3
  36. package/services/form-result.service.d.ts +6 -6
  37. package/services/form.service.d.ts +7 -7
  38. package/services/index.d.ts +4 -4
  39. package/utils/index.d.ts +2 -2
  40. package/utils/permission.utils.d.ts +1 -1
  41. package/cjs/config/event-actions.js +0 -33
  42. package/cjs/config/form-builder.constants.js +0 -13
  43. package/cjs/config/index.js +0 -20
  44. package/cjs/config/message-keys.js +0 -38
  45. package/cjs/controllers/form-result.controller.js +0 -281
  46. package/cjs/controllers/form-result.controller.spec.js +0 -257
  47. package/cjs/controllers/form.controller.js +0 -231
  48. package/cjs/controllers/form.controller.spec.js +0 -212
  49. package/cjs/controllers/index.js +0 -19
  50. package/cjs/docs/form-builder-swagger.config.js +0 -150
  51. package/cjs/docs/form-builder-swagger.config.spec.js +0 -75
  52. package/cjs/docs/index.js +0 -11
  53. package/cjs/dtos/form-result.dto.js +0 -248
  54. package/cjs/dtos/form.dto.js +0 -270
  55. package/cjs/dtos/index.js +0 -19
  56. package/cjs/entities/form-result.entity.js +0 -100
  57. package/cjs/entities/form-with-company.entity.js +0 -65
  58. package/cjs/entities/form.entity.js +0 -127
  59. package/cjs/entities/index.js +0 -52
  60. package/cjs/entities/index.spec.js +0 -18
  61. package/cjs/enums/form-access-type.enum.js +0 -19
  62. package/cjs/enums/index.js +0 -18
  63. package/cjs/index.js +0 -28
  64. package/cjs/interfaces/form-builder-module.interface.js +0 -4
  65. package/cjs/interfaces/form-result.interface.js +0 -4
  66. package/cjs/interfaces/form.interface.js +0 -4
  67. package/cjs/interfaces/index.js +0 -20
  68. package/cjs/modules/form-builder.module.js +0 -136
  69. package/cjs/modules/form-builder.module.spec.js +0 -133
  70. package/cjs/modules/index.js +0 -18
  71. package/cjs/services/form-builder-config.service.js +0 -69
  72. package/cjs/services/form-builder-config.service.spec.js +0 -121
  73. package/cjs/services/form-builder-datasource.provider.js +0 -125
  74. package/cjs/services/form-builder-datasource.provider.spec.js +0 -147
  75. package/cjs/services/form-result.service.js +0 -366
  76. package/cjs/services/form-result.service.spec.js +0 -823
  77. package/cjs/services/form.service.js +0 -341
  78. package/cjs/services/form.service.spec.js +0 -746
  79. package/cjs/services/index.js +0 -21
  80. package/cjs/utils/computed-field.utils.js +0 -199
  81. package/cjs/utils/computed-field.utils.spec.js +0 -1205
  82. package/cjs/utils/index.js +0 -19
  83. package/cjs/utils/permission.utils.js +0 -44
  84. package/cjs/utils/permission.utils.spec.js +0 -118
  85. package/fesm/config/event-actions.js +0 -12
  86. package/fesm/config/form-builder.constants.js +0 -3
  87. package/fesm/config/message-keys.js +0 -20
  88. package/fesm/controllers/form-result.controller.js +0 -271
  89. package/fesm/controllers/form-result.controller.spec.js +0 -253
  90. package/fesm/controllers/form.controller.js +0 -221
  91. package/fesm/controllers/form.controller.spec.js +0 -208
  92. package/fesm/docs/form-builder-swagger.config.js +0 -146
  93. package/fesm/docs/form-builder-swagger.config.spec.js +0 -71
  94. package/fesm/dtos/form-result.dto.js +0 -215
  95. package/fesm/dtos/form.dto.js +0 -243
  96. package/fesm/entities/form-result.entity.js +0 -90
  97. package/fesm/entities/form-with-company.entity.js +0 -55
  98. package/fesm/entities/form.entity.js +0 -117
  99. package/fesm/entities/index.spec.js +0 -14
  100. package/fesm/enums/form-access-type.enum.js +0 -9
  101. package/fesm/interfaces/form-builder-module.interface.js +0 -3
  102. package/fesm/interfaces/form-result.interface.js +0 -6
  103. package/fesm/interfaces/form.interface.js +0 -3
  104. package/fesm/modules/form-builder.module.js +0 -126
  105. package/fesm/modules/form-builder.module.spec.js +0 -129
  106. package/fesm/services/form-builder-config.service.js +0 -59
  107. package/fesm/services/form-builder-config.service.spec.js +0 -117
  108. package/fesm/services/form-builder-datasource.provider.js +0 -74
  109. package/fesm/services/form-builder-datasource.provider.spec.js +0 -143
  110. package/fesm/services/form-result.service.js +0 -356
  111. package/fesm/services/form-result.service.spec.js +0 -778
  112. package/fesm/services/form.service.js +0 -331
  113. package/fesm/services/form.service.spec.js +0 -701
  114. package/fesm/utils/computed-field.utils.js +0 -195
  115. package/fesm/utils/computed-field.utils.spec.js +0 -1201
  116. package/fesm/utils/index.js +0 -2
  117. package/fesm/utils/permission.utils.js +0 -42
  118. package/fesm/utils/permission.utils.spec.js +0 -114
@@ -1,65 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "FormWithCompany", {
6
- enumerable: true,
7
- get: function() {
8
- return FormWithCompany;
9
- }
10
- });
11
- const _typeorm = require("typeorm");
12
- const _formentity = require("./form.entity");
13
- function _define_property(obj, key, value) {
14
- if (key in obj) {
15
- Object.defineProperty(obj, key, {
16
- value: value,
17
- enumerable: true,
18
- configurable: true,
19
- writable: true
20
- });
21
- } else {
22
- obj[key] = value;
23
- }
24
- return obj;
25
- }
26
- function _ts_decorate(decorators, target, key, desc) {
27
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
28
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
29
- 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;
30
- return c > 3 && r && Object.defineProperty(target, key, r), r;
31
- }
32
- function _ts_metadata(k, v) {
33
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
34
- }
35
- let FormWithCompany = class FormWithCompany extends _formentity.Form {
36
- constructor(...args){
37
- super(...args), _define_property(this, "companyId", void 0);
38
- }
39
- };
40
- _ts_decorate([
41
- (0, _typeorm.Column)({
42
- type: 'uuid',
43
- nullable: true,
44
- name: 'company_id'
45
- }),
46
- _ts_metadata("design:type", Object)
47
- ], FormWithCompany.prototype, "companyId", void 0);
48
- FormWithCompany = _ts_decorate([
49
- (0, _typeorm.Entity)({
50
- name: 'form'
51
- }),
52
- (0, _typeorm.Index)([
53
- 'companyId'
54
- ]),
55
- (0, _typeorm.Index)([
56
- 'companyId',
57
- 'slug'
58
- ], {
59
- unique: true
60
- }),
61
- (0, _typeorm.Index)([
62
- 'companyId',
63
- 'isActive'
64
- ])
65
- ], FormWithCompany);
@@ -1,127 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "Form", {
6
- enumerable: true,
7
- get: function() {
8
- return Form;
9
- }
10
- });
11
- const _nestjsshared = require("@flusys/nestjs-shared");
12
- const _entities = require("@flusys/nestjs-shared/entities");
13
- const _typeorm = require("typeorm");
14
- const _formaccesstypeenum = require("../enums/form-access-type.enum");
15
- function _define_property(obj, key, value) {
16
- if (key in obj) {
17
- Object.defineProperty(obj, key, {
18
- value: value,
19
- enumerable: true,
20
- configurable: true,
21
- writable: true
22
- });
23
- } else {
24
- obj[key] = value;
25
- }
26
- return obj;
27
- }
28
- function _ts_decorate(decorators, target, key, desc) {
29
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
30
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
31
- 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;
32
- return c > 3 && r && Object.defineProperty(target, key, r), r;
33
- }
34
- function _ts_metadata(k, v) {
35
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
36
- }
37
- let Form = class Form extends _entities.Identity {
38
- constructor(...args){
39
- super(...args), _define_property(this, "name", void 0), _define_property(this, "description", void 0), _define_property(this, "slug", void 0), _define_property(this, "schema", void 0), _define_property(this, "schemaVersion", void 0), _define_property(this, "accessType", void 0), _define_property(this, "actionGroups", void 0), _define_property(this, "tags", void 0), _define_property(this, "isActive", void 0);
40
- }
41
- };
42
- _ts_decorate([
43
- (0, _typeorm.Column)({
44
- type: 'varchar',
45
- length: 255,
46
- nullable: false
47
- }),
48
- _ts_metadata("design:type", String)
49
- ], Form.prototype, "name", void 0);
50
- _ts_decorate([
51
- (0, _typeorm.Column)({
52
- type: 'varchar',
53
- length: 500,
54
- nullable: true
55
- }),
56
- _ts_metadata("design:type", Object)
57
- ], Form.prototype, "description", void 0);
58
- _ts_decorate([
59
- (0, _typeorm.Column)({
60
- type: 'varchar',
61
- length: 255,
62
- nullable: true
63
- }),
64
- _ts_metadata("design:type", Object)
65
- ], Form.prototype, "slug", void 0);
66
- _ts_decorate([
67
- (0, _typeorm.Column)({
68
- type: (0, _nestjsshared.getJsonColumnType)(),
69
- nullable: false
70
- }),
71
- _ts_metadata("design:type", typeof Record === "undefined" ? Object : Record)
72
- ], Form.prototype, "schema", void 0);
73
- _ts_decorate([
74
- (0, _typeorm.Column)({
75
- type: 'int',
76
- nullable: false,
77
- default: 1,
78
- name: 'schema_version'
79
- }),
80
- _ts_metadata("design:type", Number)
81
- ], Form.prototype, "schemaVersion", void 0);
82
- _ts_decorate([
83
- (0, _typeorm.Column)({
84
- type: 'varchar',
85
- length: 50,
86
- default: 'AUTHENTICATED',
87
- name: 'access_type'
88
- }),
89
- _ts_metadata("design:type", typeof _formaccesstypeenum.FormAccessType === "undefined" ? Object : _formaccesstypeenum.FormAccessType)
90
- ], Form.prototype, "accessType", void 0);
91
- _ts_decorate([
92
- (0, _typeorm.Column)({
93
- type: (0, _nestjsshared.getJsonColumnType)(),
94
- nullable: true,
95
- name: 'action_groups'
96
- }),
97
- _ts_metadata("design:type", Object)
98
- ], Form.prototype, "actionGroups", void 0);
99
- _ts_decorate([
100
- (0, _typeorm.Column)({
101
- type: (0, _nestjsshared.getJsonColumnType)(),
102
- nullable: true
103
- }),
104
- _ts_metadata("design:type", Object)
105
- ], Form.prototype, "tags", void 0);
106
- _ts_decorate([
107
- (0, _typeorm.Column)({
108
- type: 'boolean',
109
- nullable: false,
110
- default: true,
111
- name: 'is_active'
112
- }),
113
- _ts_metadata("design:type", Boolean)
114
- ], Form.prototype, "isActive", void 0);
115
- Form = _ts_decorate([
116
- (0, _typeorm.Entity)({
117
- name: 'form'
118
- }),
119
- (0, _typeorm.Index)([
120
- 'slug'
121
- ], {
122
- unique: true
123
- }),
124
- (0, _typeorm.Index)([
125
- 'isActive'
126
- ])
127
- ], Form);
@@ -1,52 +0,0 @@
1
- // Entities without company feature
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- function _export(target, all) {
7
- for(var name in all)Object.defineProperty(target, name, {
8
- enumerable: true,
9
- get: Object.getOwnPropertyDescriptor(all, name).get
10
- });
11
- }
12
- _export(exports, {
13
- get FormBase () {
14
- return _formentity.Form;
15
- },
16
- get FormCompanyEntities () {
17
- return FormCompanyEntities;
18
- },
19
- get FormCoreEntities () {
20
- return FormCoreEntities;
21
- },
22
- get getFormBuilderEntitiesByConfig () {
23
- return getFormBuilderEntitiesByConfig;
24
- }
25
- });
26
- const _formentity = _export_star(require("./form.entity"), exports);
27
- const _formresultentity = _export_star(require("./form-result.entity"), exports);
28
- const _formwithcompanyentity = _export_star(require("./form-with-company.entity"), exports);
29
- function _export_star(from, to) {
30
- Object.keys(from).forEach(function(k) {
31
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
32
- Object.defineProperty(to, k, {
33
- enumerable: true,
34
- get: function() {
35
- return from[k];
36
- }
37
- });
38
- }
39
- });
40
- return from;
41
- }
42
- const FormCoreEntities = [
43
- _formentity.Form,
44
- _formresultentity.FormResult
45
- ];
46
- const FormCompanyEntities = [
47
- _formwithcompanyentity.FormWithCompany,
48
- _formresultentity.FormResult
49
- ];
50
- function getFormBuilderEntitiesByConfig(enableCompanyFeature) {
51
- return enableCompanyFeature ? FormCompanyEntities : FormCoreEntities;
52
- }
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _index = require("./index");
6
- const _formresultentity = require("./form-result.entity");
7
- describe('getFormBuilderEntitiesByConfig', ()=>{
8
- it('returns the core entities when the company feature is disabled', ()=>{
9
- expect((0, _index.getFormBuilderEntitiesByConfig)(false)).toBe(_index.FormCoreEntities);
10
- });
11
- it('returns the company-scoped entities when the company feature is enabled', ()=>{
12
- expect((0, _index.getFormBuilderEntitiesByConfig)(true)).toBe(_index.FormCompanyEntities);
13
- });
14
- it('FormResult is shared between core and company entity sets (not company-scoped)', ()=>{
15
- expect((0, _index.getFormBuilderEntitiesByConfig)(false)).toContain(_formresultentity.FormResult);
16
- expect((0, _index.getFormBuilderEntitiesByConfig)(true)).toContain(_formresultentity.FormResult);
17
- });
18
- });
@@ -1,19 +0,0 @@
1
- /**
2
- * Form Access Type Enum
3
- * Defines who can submit the form
4
- */ "use strict";
5
- Object.defineProperty(exports, "__esModule", {
6
- value: true
7
- });
8
- Object.defineProperty(exports, "FormAccessType", {
9
- enumerable: true,
10
- get: function() {
11
- return FormAccessType;
12
- }
13
- });
14
- var FormAccessType = /*#__PURE__*/ function(FormAccessType) {
15
- /** No authentication required - anyone can submit */ FormAccessType["PUBLIC"] = "public";
16
- /** Any authenticated user can submit */ FormAccessType["AUTHENTICATED"] = "authenticated";
17
- /** Only users with specific action permissions can submit */ FormAccessType["ACTION_GROUP"] = "action_group";
18
- return FormAccessType;
19
- }({});
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./form-access-type.enum"), exports);
6
- function _export_star(from, to) {
7
- Object.keys(from).forEach(function(k) {
8
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
- Object.defineProperty(to, k, {
10
- enumerable: true,
11
- get: function() {
12
- return from[k];
13
- }
14
- });
15
- }
16
- });
17
- return from;
18
- }
package/cjs/index.js DELETED
@@ -1,28 +0,0 @@
1
- // Config
2
- "use strict";
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- _export_star(require("./config/index"), exports);
7
- _export_star(require("./docs/index"), exports);
8
- _export_star(require("./controllers/index"), exports);
9
- _export_star(require("./dtos/index"), exports);
10
- _export_star(require("./entities/index"), exports);
11
- _export_star(require("./enums/index"), exports);
12
- _export_star(require("./interfaces/index"), exports);
13
- _export_star(require("./modules/index"), exports);
14
- _export_star(require("./services/index"), exports);
15
- _export_star(require("./utils/index"), exports);
16
- function _export_star(from, to) {
17
- Object.keys(from).forEach(function(k) {
18
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
19
- Object.defineProperty(to, k, {
20
- enumerable: true,
21
- get: function() {
22
- return from[k];
23
- }
24
- });
25
- }
26
- });
27
- return from;
28
- }
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,4 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./form.interface"), exports);
6
- _export_star(require("./form-result.interface"), exports);
7
- _export_star(require("./form-builder-module.interface"), exports);
8
- function _export_star(from, to) {
9
- Object.keys(from).forEach(function(k) {
10
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
11
- Object.defineProperty(to, k, {
12
- enumerable: true,
13
- get: function() {
14
- return from[k];
15
- }
16
- });
17
- }
18
- });
19
- return from;
20
- }
@@ -1,136 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- Object.defineProperty(exports, "FormBuilderModule", {
6
- enumerable: true,
7
- get: function() {
8
- return FormBuilderModule;
9
- }
10
- });
11
- const _modules = require("@flusys/nestjs-shared/modules");
12
- const _common = require("@nestjs/common");
13
- const _formbuilderconstants = require("../config/form-builder.constants");
14
- const _controllers = require("../controllers");
15
- const _services = require("../services");
16
- function _define_property(obj, key, value) {
17
- if (key in obj) {
18
- Object.defineProperty(obj, key, {
19
- value: value,
20
- enumerable: true,
21
- configurable: true,
22
- writable: true
23
- });
24
- } else {
25
- obj[key] = value;
26
- }
27
- return obj;
28
- }
29
- function _ts_decorate(decorators, target, key, desc) {
30
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
31
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
32
- 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;
33
- return c > 3 && r && Object.defineProperty(target, key, r), r;
34
- }
35
- let FormBuilderModule = class FormBuilderModule {
36
- /**
37
- * Register FormBuilderModule synchronously
38
- */ static forRoot(options) {
39
- return {
40
- module: FormBuilderModule,
41
- global: options.global ?? false,
42
- imports: [
43
- _modules.CacheModule,
44
- _modules.UtilsModule
45
- ],
46
- controllers: options.includeController !== false ? this.CONTROLLERS : [],
47
- providers: this.buildProviders(options),
48
- exports: this.EXPORTS
49
- };
50
- }
51
- /**
52
- * Register FormBuilderModule asynchronously
53
- */ static forRootAsync(options) {
54
- return {
55
- module: FormBuilderModule,
56
- global: options.global ?? false,
57
- imports: [
58
- ...options.imports || [],
59
- _modules.CacheModule,
60
- _modules.UtilsModule
61
- ],
62
- controllers: options.includeController !== false ? this.CONTROLLERS : [],
63
- providers: [
64
- ...this.buildAsyncProviders(options),
65
- ...this.buildProviders()
66
- ],
67
- exports: this.EXPORTS
68
- };
69
- }
70
- static buildProviders(options) {
71
- const providers = [
72
- _services.FormBuilderConfigService,
73
- _services.FormBuilderDataSourceProvider,
74
- _services.FormService,
75
- _services.FormResultService
76
- ];
77
- if (options) {
78
- providers.unshift({
79
- provide: _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS,
80
- useValue: options
81
- });
82
- }
83
- providers.push((0, _modules.createModuleEventsProvider)('form-builder', _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS));
84
- return providers;
85
- }
86
- static buildAsyncProviders(options) {
87
- if (options.useFactory) {
88
- return [
89
- {
90
- provide: _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS,
91
- useFactory: async (...args)=>({
92
- ...options,
93
- config: await options.useFactory(...args)
94
- }),
95
- inject: options.inject || []
96
- }
97
- ];
98
- }
99
- const factoryClass = options.useClass || options.useExisting;
100
- if (!factoryClass) {
101
- return [];
102
- }
103
- const providers = [
104
- {
105
- provide: _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS,
106
- useFactory: async (factory)=>({
107
- ...options,
108
- config: await factory.createFormBuilderOptions()
109
- }),
110
- inject: [
111
- factoryClass
112
- ]
113
- }
114
- ];
115
- if (options.useClass) {
116
- providers.push({
117
- provide: options.useClass,
118
- useClass: options.useClass
119
- });
120
- }
121
- return providers;
122
- }
123
- };
124
- _define_property(FormBuilderModule, "CONTROLLERS", [
125
- _controllers.FormController,
126
- _controllers.FormResultController
127
- ]);
128
- _define_property(FormBuilderModule, "EXPORTS", [
129
- _services.FormBuilderConfigService,
130
- _services.FormBuilderDataSourceProvider,
131
- _services.FormService,
132
- _services.FormResultService
133
- ]);
134
- FormBuilderModule = _ts_decorate([
135
- (0, _common.Module)({})
136
- ], FormBuilderModule);
@@ -1,133 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- const _formbuildermodule = require("./form-builder.module");
6
- const _formbuilderconstants = require("../config/form-builder.constants");
7
- const _controllers = require("../controllers");
8
- function _define_property(obj, key, value) {
9
- if (key in obj) {
10
- Object.defineProperty(obj, key, {
11
- value: value,
12
- enumerable: true,
13
- configurable: true,
14
- writable: true
15
- });
16
- } else {
17
- obj[key] = value;
18
- }
19
- return obj;
20
- }
21
- function providerTokens(providers) {
22
- return providers.map((p)=>typeof p === 'function' ? p : p.provide);
23
- }
24
- describe('FormBuilderModule', ()=>{
25
- describe('forRoot', ()=>{
26
- it('should default to a non-global module with all controllers registered', ()=>{
27
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRoot({});
28
- expect(dynamicModule.module).toBe(_formbuildermodule.FormBuilderModule);
29
- expect(dynamicModule.global).toBe(false);
30
- expect(dynamicModule.controllers).toEqual([
31
- _controllers.FormController,
32
- _controllers.FormResultController
33
- ]);
34
- });
35
- it('should respect global: true', ()=>{
36
- expect(_formbuildermodule.FormBuilderModule.forRoot({
37
- global: true
38
- }).global).toBe(true);
39
- });
40
- it('should register no controllers when includeController is false', ()=>{
41
- expect(_formbuildermodule.FormBuilderModule.forRoot({
42
- includeController: false
43
- }).controllers).toEqual([]);
44
- });
45
- it('should register a FORM_BUILDER_MODULE_OPTIONS provider carrying the given options', ()=>{
46
- const options = {
47
- bootstrapAppConfig: {
48
- enableCompanyFeature: true
49
- }
50
- };
51
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRoot(options);
52
- const provider = dynamicModule.providers.find((p)=>p.provide === _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS);
53
- expect(provider.useValue).toBe(options);
54
- });
55
- it('should always export the same fixed set of services', ()=>{
56
- expect(_formbuildermodule.FormBuilderModule.forRoot({}).exports).toHaveLength(4);
57
- });
58
- });
59
- describe('forRootAsync', ()=>{
60
- it('should forward external imports alongside CacheModule/UtilsModule', ()=>{
61
- let FakeImportedModule = class FakeImportedModule {
62
- };
63
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRootAsync({
64
- imports: [
65
- FakeImportedModule
66
- ]
67
- });
68
- expect(dynamicModule.imports).toEqual(expect.arrayContaining([
69
- FakeImportedModule
70
- ]));
71
- });
72
- it('useFactory: builds a FORM_BUILDER_MODULE_OPTIONS provider merging resolved config', async ()=>{
73
- const useFactory = jest.fn().mockResolvedValue({
74
- foo: 'bar'
75
- });
76
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRootAsync({
77
- useFactory,
78
- inject: [
79
- 'SOME_TOKEN'
80
- ]
81
- });
82
- const provider = dynamicModule.providers.find((p)=>p.provide === _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS);
83
- expect(provider.inject).toEqual([
84
- 'SOME_TOKEN'
85
- ]);
86
- const resolved = await provider.useFactory('injected');
87
- expect(useFactory).toHaveBeenCalledWith('injected');
88
- expect(resolved.config).toEqual({
89
- foo: 'bar'
90
- });
91
- });
92
- it('useClass: registers both the class provider and an options provider calling createFormBuilderOptions()', async ()=>{
93
- let MyOptionsFactory = class MyOptionsFactory {
94
- constructor(){
95
- _define_property(this, "createFormBuilderOptions", jest.fn().mockResolvedValue({
96
- foo: 'from-class'
97
- }));
98
- }
99
- };
100
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRootAsync({
101
- useClass: MyOptionsFactory
102
- });
103
- const classProvider = dynamicModule.providers.find((p)=>p.provide === MyOptionsFactory);
104
- expect(classProvider.useClass).toBe(MyOptionsFactory);
105
- const optionsProvider = dynamicModule.providers.find((p)=>p.provide === _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS);
106
- const instance = new MyOptionsFactory();
107
- const resolved = await optionsProvider.useFactory(instance);
108
- expect(instance.createFormBuilderOptions).toHaveBeenCalled();
109
- expect(resolved.config).toEqual({
110
- foo: 'from-class'
111
- });
112
- });
113
- it('useExisting: registers a single options provider without a duplicate class registration', ()=>{
114
- let MyOptionsFactory = class MyOptionsFactory {
115
- constructor(){
116
- _define_property(this, "createFormBuilderOptions", jest.fn());
117
- }
118
- };
119
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRootAsync({
120
- useExisting: MyOptionsFactory
121
- });
122
- expect(dynamicModule.providers.filter((p)=>p.provide === MyOptionsFactory)).toHaveLength(0);
123
- const optionsProvider = dynamicModule.providers.find((p)=>p.provide === _formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS);
124
- expect(optionsProvider.inject).toEqual([
125
- MyOptionsFactory
126
- ]);
127
- });
128
- it('should register no FORM_BUILDER_MODULE_OPTIONS provider when neither useFactory, useClass, nor useExisting is given', ()=>{
129
- const dynamicModule = _formbuildermodule.FormBuilderModule.forRootAsync({});
130
- expect(providerTokens(dynamicModule.providers)).not.toContain(_formbuilderconstants.FORM_BUILDER_MODULE_OPTIONS);
131
- });
132
- });
133
- });
@@ -1,18 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", {
3
- value: true
4
- });
5
- _export_star(require("./form-builder.module"), exports);
6
- function _export_star(from, to) {
7
- Object.keys(from).forEach(function(k) {
8
- if (k !== "default" && !Object.prototype.hasOwnProperty.call(to, k)) {
9
- Object.defineProperty(to, k, {
10
- enumerable: true,
11
- get: function() {
12
- return from[k];
13
- }
14
- });
15
- }
16
- });
17
- return from;
18
- }