@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.
- package/config/index.d.ts +3 -3
- package/controllers/form-result.controller.d.ts +3 -3
- package/controllers/form.controller.d.ts +3 -3
- package/controllers/index.d.ts +2 -2
- package/docs/form-builder-swagger.config.d.ts +2 -2
- package/docs/index.d.ts +1 -1
- package/dtos/form.dto.d.ts +1 -1
- package/dtos/index.d.ts +2 -2
- package/entities/form-with-company.entity.d.ts +1 -1
- package/entities/form.entity.d.ts +1 -1
- package/entities/index.d.ts +7 -7
- package/enums/index.d.ts +1 -1
- package/fesm/262.js +1841 -0
- package/fesm/98.js +807 -0
- package/fesm/config/index.js +98 -3
- package/fesm/controllers/index.js +14 -2
- package/fesm/docs/index.js +171 -1
- package/fesm/dtos/index.js +571 -2
- package/fesm/entities/index.js +342 -10
- package/fesm/enums/index.js +38 -1
- package/fesm/index.js +482 -10
- package/fesm/interfaces/index.js +17 -3
- package/fesm/modules/index.js +178 -1
- package/fesm/runtime.js +85 -0
- package/fesm/services/index.js +35 -4
- package/index.d.ts +10 -10
- package/interfaces/form-builder-module.interface.d.ts +3 -3
- package/interfaces/form-result.interface.d.ts +1 -1
- package/interfaces/form.interface.d.ts +2 -2
- package/interfaces/index.d.ts +3 -3
- package/modules/form-builder.module.d.ts +2 -2
- package/modules/index.d.ts +1 -1
- package/package.json +26 -36
- package/services/form-builder-config.service.d.ts +4 -4
- package/services/form-builder-datasource.provider.d.ts +3 -3
- package/services/form-result.service.d.ts +6 -6
- package/services/form.service.d.ts +7 -7
- package/services/index.d.ts +4 -4
- package/utils/index.d.ts +2 -2
- package/utils/permission.utils.d.ts +1 -1
- package/cjs/config/event-actions.js +0 -33
- package/cjs/config/form-builder.constants.js +0 -13
- package/cjs/config/index.js +0 -20
- package/cjs/config/message-keys.js +0 -38
- package/cjs/controllers/form-result.controller.js +0 -281
- package/cjs/controllers/form-result.controller.spec.js +0 -257
- package/cjs/controllers/form.controller.js +0 -231
- package/cjs/controllers/form.controller.spec.js +0 -212
- package/cjs/controllers/index.js +0 -19
- package/cjs/docs/form-builder-swagger.config.js +0 -150
- package/cjs/docs/form-builder-swagger.config.spec.js +0 -75
- package/cjs/docs/index.js +0 -11
- package/cjs/dtos/form-result.dto.js +0 -248
- package/cjs/dtos/form.dto.js +0 -270
- package/cjs/dtos/index.js +0 -19
- package/cjs/entities/form-result.entity.js +0 -100
- package/cjs/entities/form-with-company.entity.js +0 -65
- package/cjs/entities/form.entity.js +0 -127
- package/cjs/entities/index.js +0 -52
- package/cjs/entities/index.spec.js +0 -18
- package/cjs/enums/form-access-type.enum.js +0 -19
- package/cjs/enums/index.js +0 -18
- package/cjs/index.js +0 -28
- package/cjs/interfaces/form-builder-module.interface.js +0 -4
- package/cjs/interfaces/form-result.interface.js +0 -4
- package/cjs/interfaces/form.interface.js +0 -4
- package/cjs/interfaces/index.js +0 -20
- package/cjs/modules/form-builder.module.js +0 -136
- package/cjs/modules/form-builder.module.spec.js +0 -133
- package/cjs/modules/index.js +0 -18
- package/cjs/services/form-builder-config.service.js +0 -69
- package/cjs/services/form-builder-config.service.spec.js +0 -121
- package/cjs/services/form-builder-datasource.provider.js +0 -125
- package/cjs/services/form-builder-datasource.provider.spec.js +0 -147
- package/cjs/services/form-result.service.js +0 -366
- package/cjs/services/form-result.service.spec.js +0 -823
- package/cjs/services/form.service.js +0 -341
- package/cjs/services/form.service.spec.js +0 -746
- package/cjs/services/index.js +0 -21
- package/cjs/utils/computed-field.utils.js +0 -199
- package/cjs/utils/computed-field.utils.spec.js +0 -1205
- package/cjs/utils/index.js +0 -19
- package/cjs/utils/permission.utils.js +0 -44
- package/cjs/utils/permission.utils.spec.js +0 -118
- package/fesm/config/event-actions.js +0 -12
- package/fesm/config/form-builder.constants.js +0 -3
- package/fesm/config/message-keys.js +0 -20
- package/fesm/controllers/form-result.controller.js +0 -271
- package/fesm/controllers/form-result.controller.spec.js +0 -253
- package/fesm/controllers/form.controller.js +0 -221
- package/fesm/controllers/form.controller.spec.js +0 -208
- package/fesm/docs/form-builder-swagger.config.js +0 -146
- package/fesm/docs/form-builder-swagger.config.spec.js +0 -71
- package/fesm/dtos/form-result.dto.js +0 -215
- package/fesm/dtos/form.dto.js +0 -243
- package/fesm/entities/form-result.entity.js +0 -90
- package/fesm/entities/form-with-company.entity.js +0 -55
- package/fesm/entities/form.entity.js +0 -117
- package/fesm/entities/index.spec.js +0 -14
- package/fesm/enums/form-access-type.enum.js +0 -9
- package/fesm/interfaces/form-builder-module.interface.js +0 -3
- package/fesm/interfaces/form-result.interface.js +0 -6
- package/fesm/interfaces/form.interface.js +0 -3
- package/fesm/modules/form-builder.module.js +0 -126
- package/fesm/modules/form-builder.module.spec.js +0 -129
- package/fesm/services/form-builder-config.service.js +0 -59
- package/fesm/services/form-builder-config.service.spec.js +0 -117
- package/fesm/services/form-builder-datasource.provider.js +0 -74
- package/fesm/services/form-builder-datasource.provider.spec.js +0 -143
- package/fesm/services/form-result.service.js +0 -356
- package/fesm/services/form-result.service.spec.js +0 -778
- package/fesm/services/form.service.js +0 -331
- package/fesm/services/form.service.spec.js +0 -701
- package/fesm/utils/computed-field.utils.js +0 -195
- package/fesm/utils/computed-field.utils.spec.js +0 -1201
- package/fesm/utils/index.js +0 -2
- package/fesm/utils/permission.utils.js +0 -42
- 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);
|
package/cjs/entities/index.js
DELETED
|
@@ -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
|
-
}({});
|
package/cjs/enums/index.js
DELETED
|
@@ -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
|
-
}
|
package/cjs/interfaces/index.js
DELETED
|
@@ -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
|
-
});
|
package/cjs/modules/index.js
DELETED
|
@@ -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
|
-
}
|