@bluealba/pae-bootstrap-lib 3.0.0 → 3.1.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.
@@ -46,17 +46,31 @@ describe('BootstrapSyncMetadata - type validations', () => {
46
46
  scopedTo: 'blah'
47
47
  },
48
48
  };
49
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io14(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io15(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io16(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.enabled || "boolean" === typeof input.enabled) && (undefined === input.applicationName || "string" === typeof input.applicationName) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.contextName && "string" === typeof input.operator && (undefined === input.values || Array.isArray(input.values) && input.values.every(elem => "string" === typeof elem)); const _io5 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io6(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io7(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io8(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io10(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io11(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io13(input.serviceLocal)); const _io6 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io7 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io8 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io9(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io9 = input => Object.keys(input).every(key => {
49
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io20(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io21(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io22(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.visible || "boolean" === typeof input.visible) && true && (undefined === input.valueRules || Array.isArray(input.valueRules) && input.valueRules.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io4 = input => (undefined === input.name || "string" === typeof input.name) && ("object" === typeof input.condition && null !== input.condition && _iu0(input.condition)) && true && (undefined === input.rollout || "object" === typeof input.rollout && null !== input.rollout && _io7(input.rollout)); const _io5 = input => "string" === typeof input.attribute && ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator) && (null !== input.value && undefined !== input.value && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem))); const _io6 = input => ("AND" === input.operator || "OR" === input.operator) && (Array.isArray(input.rules) && input.rules.every(elem => "object" === typeof elem && null !== elem && _iu0(elem))); const _io7 = input => "number" === typeof input.percentage && "string" === typeof input.attribute; const _io8 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io9(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io10(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io11(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io15(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io16(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io18(input.serviceLocal)); const _io9 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io10 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io11 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io12(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io12 = input => (undefined === input.tenantOverrides || "object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) && _io13(input.tenantOverrides)) && Object.keys(input).every(key => {
50
+ if (["tenantOverrides"].some(prop => key === prop))
51
+ return true;
50
52
  const value = input[key];
51
53
  if (undefined === value)
52
54
  return true;
53
55
  return true;
54
- }); const _io10 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io11 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io12(elem))); const _io12 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io13 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io14 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io15 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io16 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io17 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io18(input.customProps)); const _io18 = input => Object.keys(input).every(key => {
56
+ }); const _io13 = input => Object.keys(input).every(key => {
57
+ const value = input[key];
58
+ if (undefined === value)
59
+ return true;
60
+ return "object" === typeof value && null !== value && false === Array.isArray(value) && _io14(value);
61
+ }); const _io14 = input => Object.keys(input).every(key => {
55
62
  const value = input[key];
56
63
  if (undefined === value)
57
64
  return true;
58
65
  return true;
59
- }); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
66
+ }); const _io15 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io16 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io17 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io18 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io19 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io20 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io21 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io22 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io14(input.customProps)); const _iu0 = input => (() => {
67
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
68
+ return _io5(input);
69
+ else if ("AND" === input.operator || "OR" === input.operator)
70
+ return _io6(input);
71
+ else
72
+ return false;
73
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
60
74
  path: _path + ".syncConfig",
61
75
  expected: "__type",
62
76
  value: input.syncConfig
@@ -68,12 +82,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
68
82
  path: _path + ".sharedLibraries",
69
83
  expected: "(Array<CreateSharedLibraryDTO> | undefined)",
70
84
  value: input.sharedLibraries
71
- })) && input.sharedLibraries.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
72
- path: _path + ".sharedLibraries[" + _index16 + "]",
85
+ })) && input.sharedLibraries.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
86
+ path: _path + ".sharedLibraries[" + _index17 + "]",
73
87
  expected: "CreateSharedLibraryDTO",
74
88
  value: elem
75
- })) && _vo2(elem, _path + ".sharedLibraries[" + _index16 + "]", true && _exceptionable) || _report(_exceptionable, {
76
- path: _path + ".sharedLibraries[" + _index16 + "]",
89
+ })) && _vo2(elem, _path + ".sharedLibraries[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
90
+ path: _path + ".sharedLibraries[" + _index17 + "]",
77
91
  expected: "CreateSharedLibraryDTO",
78
92
  value: elem
79
93
  })).every(flag => flag) || _report(_exceptionable, {
@@ -84,12 +98,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
84
98
  path: _path + ".featureFlags",
85
99
  expected: "(Array<BootstrapFeatureFlag> | undefined)",
86
100
  value: input.featureFlags
87
- })) && input.featureFlags.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
88
- path: _path + ".featureFlags[" + _index17 + "]",
101
+ })) && input.featureFlags.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
102
+ path: _path + ".featureFlags[" + _index18 + "]",
89
103
  expected: "BootstrapFeatureFlag",
90
104
  value: elem
91
- })) && _vo3(elem, _path + ".featureFlags[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
92
- path: _path + ".featureFlags[" + _index17 + "]",
105
+ })) && _vo3(elem, _path + ".featureFlags[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
106
+ path: _path + ".featureFlags[" + _index18 + "]",
93
107
  expected: "BootstrapFeatureFlag",
94
108
  value: elem
95
109
  })).every(flag => flag) || _report(_exceptionable, {
@@ -100,12 +114,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
100
114
  path: _path + ".catalog",
101
115
  expected: "(Array<BootstrapModule> | undefined)",
102
116
  value: input.catalog
103
- })) && input.catalog.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
104
- path: _path + ".catalog[" + _index18 + "]",
117
+ })) && input.catalog.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
118
+ path: _path + ".catalog[" + _index19 + "]",
105
119
  expected: "BootstrapModule",
106
120
  value: elem
107
- })) && _vo5(elem, _path + ".catalog[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
108
- path: _path + ".catalog[" + _index18 + "]",
121
+ })) && _vo8(elem, _path + ".catalog[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
122
+ path: _path + ".catalog[" + _index19 + "]",
109
123
  expected: "BootstrapModule",
110
124
  value: elem
111
125
  })).every(flag => flag) || _report(_exceptionable, {
@@ -116,12 +130,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
116
130
  path: _path + ".applicationsAuthz",
117
131
  expected: "(Array<CreateApplicationDTO> | undefined)",
118
132
  value: input.applicationsAuthz
119
- })) && input.applicationsAuthz.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
120
- path: _path + ".applicationsAuthz[" + _index19 + "]",
133
+ })) && input.applicationsAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
134
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
121
135
  expected: "CreateApplicationDTO",
122
136
  value: elem
123
- })) && _vo14(elem, _path + ".applicationsAuthz[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
124
- path: _path + ".applicationsAuthz[" + _index19 + "]",
137
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
138
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
125
139
  expected: "CreateApplicationDTO",
126
140
  value: elem
127
141
  })).every(flag => flag) || _report(_exceptionable, {
@@ -132,12 +146,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
132
146
  path: _path + ".rolesAuthz",
133
147
  expected: "(Array<CreateRoleDTO> | undefined)",
134
148
  value: input.rolesAuthz
135
- })) && input.rolesAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
136
- path: _path + ".rolesAuthz[" + _index20 + "]",
149
+ })) && input.rolesAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
150
+ path: _path + ".rolesAuthz[" + _index21 + "]",
137
151
  expected: "CreateRoleDTO",
138
152
  value: elem
139
- })) && _vo15(elem, _path + ".rolesAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
140
- path: _path + ".rolesAuthz[" + _index20 + "]",
153
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
154
+ path: _path + ".rolesAuthz[" + _index21 + "]",
141
155
  expected: "CreateRoleDTO",
142
156
  value: elem
143
157
  })).every(flag => flag) || _report(_exceptionable, {
@@ -148,12 +162,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
148
162
  path: _path + ".operationsAuthz",
149
163
  expected: "(Array<OperationAuthzBootstrap> | undefined)",
150
164
  value: input.operationsAuthz
151
- })) && input.operationsAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
152
- path: _path + ".operationsAuthz[" + _index21 + "]",
165
+ })) && input.operationsAuthz.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
166
+ path: _path + ".operationsAuthz[" + _index22 + "]",
153
167
  expected: "OperationAuthzBootstrap",
154
168
  value: elem
155
- })) && _vo16(elem, _path + ".operationsAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
156
- path: _path + ".operationsAuthz[" + _index21 + "]",
169
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
170
+ path: _path + ".operationsAuthz[" + _index22 + "]",
157
171
  expected: "OperationAuthzBootstrap",
158
172
  value: elem
159
173
  })).every(flag => flag) || _report(_exceptionable, {
@@ -164,12 +178,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
164
178
  path: _path + ".modulesConfig",
165
179
  expected: "(Array<UpdateModuleUIConfigDTO> | undefined)",
166
180
  value: input.modulesConfig
167
- })) && input.modulesConfig.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
168
- path: _path + ".modulesConfig[" + _index22 + "]",
181
+ })) && input.modulesConfig.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
182
+ path: _path + ".modulesConfig[" + _index23 + "]",
169
183
  expected: "UpdateModuleUIConfigDTO",
170
184
  value: elem
171
- })) && _vo17(elem, _path + ".modulesConfig[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
172
- path: _path + ".modulesConfig[" + _index22 + "]",
185
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
186
+ path: _path + ".modulesConfig[" + _index23 + "]",
173
187
  expected: "UpdateModuleUIConfigDTO",
174
188
  value: elem
175
189
  })).every(flag => flag) || _report(_exceptionable, {
@@ -200,51 +214,107 @@ describe('BootstrapSyncMetadata - type validations', () => {
200
214
  path: _path + ".description",
201
215
  expected: "(string | undefined)",
202
216
  value: input.description
203
- }), undefined === input.enabled || "boolean" === typeof input.enabled || _report(_exceptionable, {
204
- path: _path + ".enabled",
217
+ }), undefined === input.visible || "boolean" === typeof input.visible || _report(_exceptionable, {
218
+ path: _path + ".visible",
205
219
  expected: "(boolean | undefined)",
206
- value: input.enabled
220
+ value: input.visible
221
+ }), true, undefined === input.valueRules || (Array.isArray(input.valueRules) || _report(_exceptionable, {
222
+ path: _path + ".valueRules",
223
+ expected: "(Array<BootstrapValueRule> | undefined)",
224
+ value: input.valueRules
225
+ })) && input.valueRules.map((elem, _index24) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
226
+ path: _path + ".valueRules[" + _index24 + "]",
227
+ expected: "BootstrapValueRule",
228
+ value: elem
229
+ })) && _vo4(elem, _path + ".valueRules[" + _index24 + "]", true && _exceptionable) || _report(_exceptionable, {
230
+ path: _path + ".valueRules[" + _index24 + "]",
231
+ expected: "BootstrapValueRule",
232
+ value: elem
233
+ })).every(flag => flag) || _report(_exceptionable, {
234
+ path: _path + ".valueRules",
235
+ expected: "(Array<BootstrapValueRule> | undefined)",
236
+ value: input.valueRules
207
237
  }), undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
208
238
  path: _path + ".applicationName",
209
239
  expected: "(string | undefined)",
210
240
  value: input.applicationName
211
- }), undefined === input.constraints || (Array.isArray(input.constraints) || _report(_exceptionable, {
212
- path: _path + ".constraints",
213
- expected: "(Array<__type> | undefined)",
214
- value: input.constraints
215
- })) && input.constraints.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
216
- path: _path + ".constraints[" + _index23 + "]",
217
- expected: "__type.o1",
218
- value: elem
219
- })) && _vo4(elem, _path + ".constraints[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
220
- path: _path + ".constraints[" + _index23 + "]",
221
- expected: "__type.o1",
222
- value: elem
223
- })).every(flag => flag) || _report(_exceptionable, {
224
- path: _path + ".constraints",
225
- expected: "(Array<__type> | undefined)",
226
- value: input.constraints
227
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.contextName || _report(_exceptionable, {
228
- path: _path + ".contextName",
229
- expected: "string",
230
- value: input.contextName
231
- }), "string" === typeof input.operator || _report(_exceptionable, {
241
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.name || "string" === typeof input.name || _report(_exceptionable, {
242
+ path: _path + ".name",
243
+ expected: "(string | undefined)",
244
+ value: input.name
245
+ }), ("object" === typeof input.condition && null !== input.condition || _report(_exceptionable, {
246
+ path: _path + ".condition",
247
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
248
+ value: input.condition
249
+ })) && _vu0(input.condition, _path + ".condition", true && _exceptionable) || _report(_exceptionable, {
250
+ path: _path + ".condition",
251
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
252
+ value: input.condition
253
+ }), true, undefined === input.rollout || ("object" === typeof input.rollout && null !== input.rollout || _report(_exceptionable, {
254
+ path: _path + ".rollout",
255
+ expected: "(__type.o1 | undefined)",
256
+ value: input.rollout
257
+ })) && _vo7(input.rollout, _path + ".rollout", true && _exceptionable) || _report(_exceptionable, {
258
+ path: _path + ".rollout",
259
+ expected: "(__type.o1 | undefined)",
260
+ value: input.rollout
261
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.attribute || _report(_exceptionable, {
262
+ path: _path + ".attribute",
263
+ expected: "string",
264
+ value: input.attribute
265
+ }), "eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator || _report(_exceptionable, {
232
266
  path: _path + ".operator",
233
- expected: "string",
267
+ expected: "(\"eq\" | \"in\" | \"neq\" | \"nin\")",
234
268
  value: input.operator
235
- }), undefined === input.values || (Array.isArray(input.values) || _report(_exceptionable, {
236
- path: _path + ".values",
237
- expected: "(Array<string> | undefined)",
238
- value: input.values
239
- })) && input.values.map((elem, _index24) => "string" === typeof elem || _report(_exceptionable, {
240
- path: _path + ".values[" + _index24 + "]",
269
+ }), (null !== input.value || _report(_exceptionable, {
270
+ path: _path + ".value",
271
+ expected: "(Array<string> | boolean | number | string)",
272
+ value: input.value
273
+ })) && (undefined !== input.value || _report(_exceptionable, {
274
+ path: _path + ".value",
275
+ expected: "(Array<string> | boolean | number | string)",
276
+ value: input.value
277
+ })) && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || (Array.isArray(input.value) || _report(_exceptionable, {
278
+ path: _path + ".value",
279
+ expected: "(Array<string> | boolean | number | string)",
280
+ value: input.value
281
+ })) && input.value.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
282
+ path: _path + ".value[" + _index25 + "]",
241
283
  expected: "string",
242
284
  value: elem
243
285
  })).every(flag => flag) || _report(_exceptionable, {
244
- path: _path + ".values",
245
- expected: "(Array<string> | undefined)",
246
- value: input.values
247
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
286
+ path: _path + ".value",
287
+ expected: "(Array<string> | boolean | number | string)",
288
+ value: input.value
289
+ }))].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["AND" === input.operator || "OR" === input.operator || _report(_exceptionable, {
290
+ path: _path + ".operator",
291
+ expected: "(\"AND\" | \"OR\")",
292
+ value: input.operator
293
+ }), (Array.isArray(input.rules) || _report(_exceptionable, {
294
+ path: _path + ".rules",
295
+ expected: "Array<BootstrapCondition>",
296
+ value: input.rules
297
+ })) && input.rules.map((elem, _index26) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
298
+ path: _path + ".rules[" + _index26 + "]",
299
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
300
+ value: elem
301
+ })) && _vu0(elem, _path + ".rules[" + _index26 + "]", true && _exceptionable) || _report(_exceptionable, {
302
+ path: _path + ".rules[" + _index26 + "]",
303
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
304
+ value: elem
305
+ })).every(flag => flag) || _report(_exceptionable, {
306
+ path: _path + ".rules",
307
+ expected: "Array<BootstrapCondition>",
308
+ value: input.rules
309
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["number" === typeof input.percentage || _report(_exceptionable, {
310
+ path: _path + ".percentage",
311
+ expected: "number",
312
+ value: input.percentage
313
+ }), "string" === typeof input.attribute || _report(_exceptionable, {
314
+ path: _path + ".attribute",
315
+ expected: "string",
316
+ value: input.attribute
317
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
248
318
  path: _path + ".name",
249
319
  expected: "string",
250
320
  value: input.name
@@ -264,7 +334,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
264
334
  path: _path + ".service",
265
335
  expected: "ServiceConfig",
266
336
  value: input.service
267
- })) && _vo6(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
337
+ })) && _vo9(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
268
338
  path: _path + ".service",
269
339
  expected: "ServiceConfig",
270
340
  value: input.service
@@ -272,8 +342,8 @@ describe('BootstrapSyncMetadata - type validations', () => {
272
342
  path: _path + ".dependsOn",
273
343
  expected: "Array<string>",
274
344
  value: input.dependsOn
275
- })) && input.dependsOn.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
276
- path: _path + ".dependsOn[" + _index25 + "]",
345
+ })) && input.dependsOn.map((elem, _index27) => "string" === typeof elem || _report(_exceptionable, {
346
+ path: _path + ".dependsOn[" + _index27 + "]",
277
347
  expected: "string",
278
348
  value: elem
279
349
  })).every(flag => flag) || _report(_exceptionable, {
@@ -284,7 +354,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
284
354
  path: _path + ".commonPaths",
285
355
  expected: "(CommonPathsMetadata | undefined)",
286
356
  value: input.commonPaths
287
- })) && _vo7(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
357
+ })) && _vo10(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
288
358
  path: _path + ".commonPaths",
289
359
  expected: "(CommonPathsMetadata | undefined)",
290
360
  value: input.commonPaths
@@ -292,7 +362,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
292
362
  path: _path + ".ui",
293
363
  expected: "(UIConfig | undefined)",
294
364
  value: input.ui
295
- })) && _vo8(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
365
+ })) && _vo11(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
296
366
  path: _path + ".ui",
297
367
  expected: "(UIConfig | undefined)",
298
368
  value: input.ui
@@ -300,7 +370,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
300
370
  path: _path + ".cloudFunction",
301
371
  expected: "(CloudFunctionConfig | undefined)",
302
372
  value: input.cloudFunction
303
- })) && _vo10(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
373
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
304
374
  path: _path + ".cloudFunction",
305
375
  expected: "(CloudFunctionConfig | undefined)",
306
376
  value: input.cloudFunction
@@ -308,7 +378,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
308
378
  path: _path + ".authorization",
309
379
  expected: "(AuthorizationMetadata | undefined)",
310
380
  value: input.authorization
311
- })) && _vo11(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
381
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
312
382
  path: _path + ".authorization",
313
383
  expected: "(AuthorizationMetadata | undefined)",
314
384
  value: input.authorization
@@ -332,11 +402,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
332
402
  path: _path + ".serviceLocal",
333
403
  expected: "(Partial<ServiceConfig> | undefined)",
334
404
  value: input.serviceLocal
335
- })) && _vo13(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
405
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
336
406
  path: _path + ".serviceLocal",
337
407
  expected: "(Partial<ServiceConfig> | undefined)",
338
408
  value: input.serviceLocal
339
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
409
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
340
410
  path: _path + ".host",
341
411
  expected: "string",
342
412
  value: input.host
@@ -352,7 +422,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
352
422
  path: _path + ".includeBaseURL",
353
423
  expected: "(boolean | undefined)",
354
424
  value: input.includeBaseURL
355
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
425
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
356
426
  path: _path + ".apiDocs",
357
427
  expected: "(string | undefined)",
358
428
  value: input.apiDocs
@@ -368,7 +438,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
368
438
  path: _path + ".changelog",
369
439
  expected: "(string | undefined)",
370
440
  value: input.changelog
371
- })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
441
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
372
442
  path: _path + ".route",
373
443
  expected: "string",
374
444
  value: input.route
@@ -384,7 +454,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
384
454
  path: _path + ".customProps",
385
455
  expected: "ModuleProps",
386
456
  value: input.customProps
387
- })) && _vo9(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
457
+ })) && _vo12(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
388
458
  path: _path + ".customProps",
389
459
  expected: "ModuleProps",
390
460
  value: input.customProps
@@ -396,12 +466,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
396
466
  path: _path + ".isPlatformCustomization",
397
467
  expected: "(boolean | undefined)",
398
468
  value: input.isPlatformCustomization
399
- })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
469
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.tenantOverrides || ("object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) || _report(_exceptionable, {
470
+ path: _path + ".tenantOverrides",
471
+ expected: "(Record<string, Record<string, any>> | undefined)",
472
+ value: input.tenantOverrides
473
+ })) && _vo13(input.tenantOverrides, _path + ".tenantOverrides", true && _exceptionable) || _report(_exceptionable, {
474
+ path: _path + ".tenantOverrides",
475
+ expected: "(Record<string, Record<string, any>> | undefined)",
476
+ value: input.tenantOverrides
477
+ }), false === _exceptionable || Object.keys(input).map(key => {
478
+ if (["tenantOverrides"].some(prop => key === prop))
479
+ return true;
400
480
  const value = input[key];
401
481
  if (undefined === value)
402
482
  return true;
403
483
  return true;
404
- }).every(flag => flag)].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
484
+ }).every(flag => flag)].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
485
+ const value = input[key];
486
+ if (undefined === value)
487
+ return true;
488
+ return ("object" === typeof value && null !== value && false === Array.isArray(value) || _report(_exceptionable, {
489
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
490
+ expected: "Record<string, any>",
491
+ value: value
492
+ })) && _vo14(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
493
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
494
+ expected: "Record<string, any>",
495
+ value: value
496
+ });
497
+ }).every(flag => flag)].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
498
+ const value = input[key];
499
+ if (undefined === value)
500
+ return true;
501
+ return true;
502
+ }).every(flag => flag)].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
405
503
  path: _path + ".provider",
406
504
  expected: "\"aws\"",
407
505
  value: input.provider
@@ -409,12 +507,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
409
507
  path: _path + ".requiresSignature",
410
508
  expected: "boolean",
411
509
  value: input.requiresSignature
412
- })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
510
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
413
511
  path: _path + ".operations",
414
512
  expected: "(Array<string> | undefined)",
415
513
  value: input.operations
416
- })) && input.operations.map((elem, _index26) => "string" === typeof elem || _report(_exceptionable, {
417
- path: _path + ".operations[" + _index26 + "]",
514
+ })) && input.operations.map((elem, _index28) => "string" === typeof elem || _report(_exceptionable, {
515
+ path: _path + ".operations[" + _index28 + "]",
418
516
  expected: "string",
419
517
  value: elem
420
518
  })).every(flag => flag) || _report(_exceptionable, {
@@ -425,24 +523,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
425
523
  path: _path + ".routes",
426
524
  expected: "(Array<RouteAuthorization> | undefined)",
427
525
  value: input.routes
428
- })) && input.routes.map((elem, _index27) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
429
- path: _path + ".routes[" + _index27 + "]",
526
+ })) && input.routes.map((elem, _index29) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
527
+ path: _path + ".routes[" + _index29 + "]",
430
528
  expected: "RouteAuthorization",
431
529
  value: elem
432
- })) && _vo12(elem, _path + ".routes[" + _index27 + "]", true && _exceptionable) || _report(_exceptionable, {
433
- path: _path + ".routes[" + _index27 + "]",
530
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
531
+ path: _path + ".routes[" + _index29 + "]",
434
532
  expected: "RouteAuthorization",
435
533
  value: elem
436
534
  })).every(flag => flag) || _report(_exceptionable, {
437
535
  path: _path + ".routes",
438
536
  expected: "(Array<RouteAuthorization> | undefined)",
439
537
  value: input.routes
440
- })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
538
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
441
539
  path: _path + ".methods",
442
540
  expected: "(Array<HttpMethod> | undefined)",
443
541
  value: input.methods
444
- })) && input.methods.map((elem, _index28) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
445
- path: _path + ".methods[" + _index28 + "]",
542
+ })) && input.methods.map((elem, _index30) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
543
+ path: _path + ".methods[" + _index30 + "]",
446
544
  expected: "(\"CONNECT\" | \"DELETE\" | \"GET\" | \"HEAD\" | \"OPTIONS\" | \"PATCH\" | \"POST\" | \"PUT\" | \"TRACE\")",
447
545
  value: elem
448
546
  })).every(flag => flag) || _report(_exceptionable, {
@@ -457,15 +555,15 @@ describe('BootstrapSyncMetadata - type validations', () => {
457
555
  path: _path + ".operations",
458
556
  expected: "Array<string>",
459
557
  value: input.operations
460
- })) && input.operations.map((elem, _index29) => "string" === typeof elem || _report(_exceptionable, {
461
- path: _path + ".operations[" + _index29 + "]",
558
+ })) && input.operations.map((elem, _index31) => "string" === typeof elem || _report(_exceptionable, {
559
+ path: _path + ".operations[" + _index31 + "]",
462
560
  expected: "string",
463
561
  value: elem
464
562
  })).every(flag => flag) || _report(_exceptionable, {
465
563
  path: _path + ".operations",
466
564
  expected: "Array<string>",
467
565
  value: input.operations
468
- })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
566
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
469
567
  path: _path + ".host",
470
568
  expected: "(string | undefined)",
471
569
  value: input.host
@@ -481,7 +579,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
481
579
  path: _path + ".includeBaseURL",
482
580
  expected: "(boolean | undefined)",
483
581
  value: input.includeBaseURL
484
- })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
582
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
485
583
  path: _path + ".name",
486
584
  expected: "string",
487
585
  value: input.name
@@ -497,7 +595,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
497
595
  path: _path + ".allowedByDefault",
498
596
  expected: "(boolean | undefined)",
499
597
  value: input.allowedByDefault
500
- })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
598
+ })].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
501
599
  path: _path + ".applicationName",
502
600
  expected: "(string | undefined)",
503
601
  value: input.applicationName
@@ -509,12 +607,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
509
607
  path: _path + ".description",
510
608
  expected: "(string | undefined)",
511
609
  value: input.description
512
- })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
610
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
513
611
  path: _path + ".roles",
514
612
  expected: "(Array<string> | undefined)",
515
613
  value: input.roles
516
- })) && input.roles.map((elem, _index30) => "string" === typeof elem || _report(_exceptionable, {
517
- path: _path + ".roles[" + _index30 + "]",
614
+ })) && input.roles.map((elem, _index32) => "string" === typeof elem || _report(_exceptionable, {
615
+ path: _path + ".roles[" + _index32 + "]",
518
616
  expected: "string",
519
617
  value: elem
520
618
  })).every(flag => flag) || _report(_exceptionable, {
@@ -533,7 +631,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
533
631
  path: _path + ".applicationName",
534
632
  expected: "(string | undefined)",
535
633
  value: input.applicationName
536
- })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
634
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
537
635
  path: _path + ".moduleName",
538
636
  expected: "string",
539
637
  value: input.moduleName
@@ -541,16 +639,22 @@ describe('BootstrapSyncMetadata - type validations', () => {
541
639
  path: _path + ".customProps",
542
640
  expected: "Record<string, any>",
543
641
  value: input.customProps
544
- })) && _vo18(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
642
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
545
643
  path: _path + ".customProps",
546
644
  expected: "Record<string, any>",
547
645
  value: input.customProps
548
- })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
549
- const value = input[key];
550
- if (undefined === value)
551
- return true;
552
- return true;
553
- }).every(flag => flag)].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
646
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
647
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
648
+ return _vo5(input, _path, true && _exceptionable);
649
+ else if ("AND" === input.operator || "OR" === input.operator)
650
+ return _vo6(input, _path, true && _exceptionable);
651
+ else
652
+ return _report(_exceptionable, {
653
+ path: _path,
654
+ expected: "(BootstrapLeafCondition | BootstrapCompositeCondition)",
655
+ value: input
656
+ });
657
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
554
658
  if (false === __is(input)) {
555
659
  errors = [];
556
660
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -584,17 +688,31 @@ describe('BootstrapSyncMetadata - type validations', () => {
584
688
  const invalidObject = {
585
689
  invalidField: 'invalidValue',
586
690
  };
587
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io14(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io15(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io16(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.enabled || "boolean" === typeof input.enabled) && (undefined === input.applicationName || "string" === typeof input.applicationName) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.contextName && "string" === typeof input.operator && (undefined === input.values || Array.isArray(input.values) && input.values.every(elem => "string" === typeof elem)); const _io5 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io6(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io7(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io8(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io10(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io11(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io13(input.serviceLocal)); const _io6 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io7 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io8 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io9(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io9 = input => Object.keys(input).every(key => {
691
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io20(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io21(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io22(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.visible || "boolean" === typeof input.visible) && true && (undefined === input.valueRules || Array.isArray(input.valueRules) && input.valueRules.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io4 = input => (undefined === input.name || "string" === typeof input.name) && ("object" === typeof input.condition && null !== input.condition && _iu0(input.condition)) && true && (undefined === input.rollout || "object" === typeof input.rollout && null !== input.rollout && _io7(input.rollout)); const _io5 = input => "string" === typeof input.attribute && ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator) && (null !== input.value && undefined !== input.value && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem))); const _io6 = input => ("AND" === input.operator || "OR" === input.operator) && (Array.isArray(input.rules) && input.rules.every(elem => "object" === typeof elem && null !== elem && _iu0(elem))); const _io7 = input => "number" === typeof input.percentage && "string" === typeof input.attribute; const _io8 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io9(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io10(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io11(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io15(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io16(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io18(input.serviceLocal)); const _io9 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io10 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io11 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io12(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io12 = input => (undefined === input.tenantOverrides || "object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) && _io13(input.tenantOverrides)) && Object.keys(input).every(key => {
692
+ if (["tenantOverrides"].some(prop => key === prop))
693
+ return true;
588
694
  const value = input[key];
589
695
  if (undefined === value)
590
696
  return true;
591
697
  return true;
592
- }); const _io10 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io11 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io12(elem))); const _io12 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io13 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io14 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io15 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io16 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io17 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io18(input.customProps)); const _io18 = input => Object.keys(input).every(key => {
698
+ }); const _io13 = input => Object.keys(input).every(key => {
699
+ const value = input[key];
700
+ if (undefined === value)
701
+ return true;
702
+ return "object" === typeof value && null !== value && false === Array.isArray(value) && _io14(value);
703
+ }); const _io14 = input => Object.keys(input).every(key => {
593
704
  const value = input[key];
594
705
  if (undefined === value)
595
706
  return true;
596
707
  return true;
597
- }); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
708
+ }); const _io15 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io16 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io17 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io18 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io19 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io20 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io21 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io22 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io14(input.customProps)); const _iu0 = input => (() => {
709
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
710
+ return _io5(input);
711
+ else if ("AND" === input.operator || "OR" === input.operator)
712
+ return _io6(input);
713
+ else
714
+ return false;
715
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
598
716
  path: _path + ".syncConfig",
599
717
  expected: "__type",
600
718
  value: input.syncConfig
@@ -606,12 +724,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
606
724
  path: _path + ".sharedLibraries",
607
725
  expected: "(Array<CreateSharedLibraryDTO> | undefined)",
608
726
  value: input.sharedLibraries
609
- })) && input.sharedLibraries.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
610
- path: _path + ".sharedLibraries[" + _index16 + "]",
727
+ })) && input.sharedLibraries.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
728
+ path: _path + ".sharedLibraries[" + _index17 + "]",
611
729
  expected: "CreateSharedLibraryDTO",
612
730
  value: elem
613
- })) && _vo2(elem, _path + ".sharedLibraries[" + _index16 + "]", true && _exceptionable) || _report(_exceptionable, {
614
- path: _path + ".sharedLibraries[" + _index16 + "]",
731
+ })) && _vo2(elem, _path + ".sharedLibraries[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
732
+ path: _path + ".sharedLibraries[" + _index17 + "]",
615
733
  expected: "CreateSharedLibraryDTO",
616
734
  value: elem
617
735
  })).every(flag => flag) || _report(_exceptionable, {
@@ -622,12 +740,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
622
740
  path: _path + ".featureFlags",
623
741
  expected: "(Array<BootstrapFeatureFlag> | undefined)",
624
742
  value: input.featureFlags
625
- })) && input.featureFlags.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
626
- path: _path + ".featureFlags[" + _index17 + "]",
743
+ })) && input.featureFlags.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
744
+ path: _path + ".featureFlags[" + _index18 + "]",
627
745
  expected: "BootstrapFeatureFlag",
628
746
  value: elem
629
- })) && _vo3(elem, _path + ".featureFlags[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
630
- path: _path + ".featureFlags[" + _index17 + "]",
747
+ })) && _vo3(elem, _path + ".featureFlags[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
748
+ path: _path + ".featureFlags[" + _index18 + "]",
631
749
  expected: "BootstrapFeatureFlag",
632
750
  value: elem
633
751
  })).every(flag => flag) || _report(_exceptionable, {
@@ -638,12 +756,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
638
756
  path: _path + ".catalog",
639
757
  expected: "(Array<BootstrapModule> | undefined)",
640
758
  value: input.catalog
641
- })) && input.catalog.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
642
- path: _path + ".catalog[" + _index18 + "]",
759
+ })) && input.catalog.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
760
+ path: _path + ".catalog[" + _index19 + "]",
643
761
  expected: "BootstrapModule",
644
762
  value: elem
645
- })) && _vo5(elem, _path + ".catalog[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
646
- path: _path + ".catalog[" + _index18 + "]",
763
+ })) && _vo8(elem, _path + ".catalog[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
764
+ path: _path + ".catalog[" + _index19 + "]",
647
765
  expected: "BootstrapModule",
648
766
  value: elem
649
767
  })).every(flag => flag) || _report(_exceptionable, {
@@ -654,12 +772,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
654
772
  path: _path + ".applicationsAuthz",
655
773
  expected: "(Array<CreateApplicationDTO> | undefined)",
656
774
  value: input.applicationsAuthz
657
- })) && input.applicationsAuthz.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
658
- path: _path + ".applicationsAuthz[" + _index19 + "]",
775
+ })) && input.applicationsAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
776
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
659
777
  expected: "CreateApplicationDTO",
660
778
  value: elem
661
- })) && _vo14(elem, _path + ".applicationsAuthz[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
662
- path: _path + ".applicationsAuthz[" + _index19 + "]",
779
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
780
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
663
781
  expected: "CreateApplicationDTO",
664
782
  value: elem
665
783
  })).every(flag => flag) || _report(_exceptionable, {
@@ -670,12 +788,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
670
788
  path: _path + ".rolesAuthz",
671
789
  expected: "(Array<CreateRoleDTO> | undefined)",
672
790
  value: input.rolesAuthz
673
- })) && input.rolesAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
674
- path: _path + ".rolesAuthz[" + _index20 + "]",
791
+ })) && input.rolesAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
792
+ path: _path + ".rolesAuthz[" + _index21 + "]",
675
793
  expected: "CreateRoleDTO",
676
794
  value: elem
677
- })) && _vo15(elem, _path + ".rolesAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
678
- path: _path + ".rolesAuthz[" + _index20 + "]",
795
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
796
+ path: _path + ".rolesAuthz[" + _index21 + "]",
679
797
  expected: "CreateRoleDTO",
680
798
  value: elem
681
799
  })).every(flag => flag) || _report(_exceptionable, {
@@ -686,12 +804,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
686
804
  path: _path + ".operationsAuthz",
687
805
  expected: "(Array<OperationAuthzBootstrap> | undefined)",
688
806
  value: input.operationsAuthz
689
- })) && input.operationsAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
690
- path: _path + ".operationsAuthz[" + _index21 + "]",
807
+ })) && input.operationsAuthz.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
808
+ path: _path + ".operationsAuthz[" + _index22 + "]",
691
809
  expected: "OperationAuthzBootstrap",
692
810
  value: elem
693
- })) && _vo16(elem, _path + ".operationsAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
694
- path: _path + ".operationsAuthz[" + _index21 + "]",
811
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
812
+ path: _path + ".operationsAuthz[" + _index22 + "]",
695
813
  expected: "OperationAuthzBootstrap",
696
814
  value: elem
697
815
  })).every(flag => flag) || _report(_exceptionable, {
@@ -702,12 +820,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
702
820
  path: _path + ".modulesConfig",
703
821
  expected: "(Array<UpdateModuleUIConfigDTO> | undefined)",
704
822
  value: input.modulesConfig
705
- })) && input.modulesConfig.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
706
- path: _path + ".modulesConfig[" + _index22 + "]",
823
+ })) && input.modulesConfig.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
824
+ path: _path + ".modulesConfig[" + _index23 + "]",
707
825
  expected: "UpdateModuleUIConfigDTO",
708
826
  value: elem
709
- })) && _vo17(elem, _path + ".modulesConfig[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
710
- path: _path + ".modulesConfig[" + _index22 + "]",
827
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
828
+ path: _path + ".modulesConfig[" + _index23 + "]",
711
829
  expected: "UpdateModuleUIConfigDTO",
712
830
  value: elem
713
831
  })).every(flag => flag) || _report(_exceptionable, {
@@ -738,51 +856,107 @@ describe('BootstrapSyncMetadata - type validations', () => {
738
856
  path: _path + ".description",
739
857
  expected: "(string | undefined)",
740
858
  value: input.description
741
- }), undefined === input.enabled || "boolean" === typeof input.enabled || _report(_exceptionable, {
742
- path: _path + ".enabled",
859
+ }), undefined === input.visible || "boolean" === typeof input.visible || _report(_exceptionable, {
860
+ path: _path + ".visible",
743
861
  expected: "(boolean | undefined)",
744
- value: input.enabled
862
+ value: input.visible
863
+ }), true, undefined === input.valueRules || (Array.isArray(input.valueRules) || _report(_exceptionable, {
864
+ path: _path + ".valueRules",
865
+ expected: "(Array<BootstrapValueRule> | undefined)",
866
+ value: input.valueRules
867
+ })) && input.valueRules.map((elem, _index24) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
868
+ path: _path + ".valueRules[" + _index24 + "]",
869
+ expected: "BootstrapValueRule",
870
+ value: elem
871
+ })) && _vo4(elem, _path + ".valueRules[" + _index24 + "]", true && _exceptionable) || _report(_exceptionable, {
872
+ path: _path + ".valueRules[" + _index24 + "]",
873
+ expected: "BootstrapValueRule",
874
+ value: elem
875
+ })).every(flag => flag) || _report(_exceptionable, {
876
+ path: _path + ".valueRules",
877
+ expected: "(Array<BootstrapValueRule> | undefined)",
878
+ value: input.valueRules
745
879
  }), undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
746
880
  path: _path + ".applicationName",
747
881
  expected: "(string | undefined)",
748
882
  value: input.applicationName
749
- }), undefined === input.constraints || (Array.isArray(input.constraints) || _report(_exceptionable, {
750
- path: _path + ".constraints",
751
- expected: "(Array<__type> | undefined)",
752
- value: input.constraints
753
- })) && input.constraints.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
754
- path: _path + ".constraints[" + _index23 + "]",
755
- expected: "__type.o1",
756
- value: elem
757
- })) && _vo4(elem, _path + ".constraints[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
758
- path: _path + ".constraints[" + _index23 + "]",
759
- expected: "__type.o1",
760
- value: elem
761
- })).every(flag => flag) || _report(_exceptionable, {
762
- path: _path + ".constraints",
763
- expected: "(Array<__type> | undefined)",
764
- value: input.constraints
765
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.contextName || _report(_exceptionable, {
766
- path: _path + ".contextName",
767
- expected: "string",
768
- value: input.contextName
769
- }), "string" === typeof input.operator || _report(_exceptionable, {
883
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.name || "string" === typeof input.name || _report(_exceptionable, {
884
+ path: _path + ".name",
885
+ expected: "(string | undefined)",
886
+ value: input.name
887
+ }), ("object" === typeof input.condition && null !== input.condition || _report(_exceptionable, {
888
+ path: _path + ".condition",
889
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
890
+ value: input.condition
891
+ })) && _vu0(input.condition, _path + ".condition", true && _exceptionable) || _report(_exceptionable, {
892
+ path: _path + ".condition",
893
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
894
+ value: input.condition
895
+ }), true, undefined === input.rollout || ("object" === typeof input.rollout && null !== input.rollout || _report(_exceptionable, {
896
+ path: _path + ".rollout",
897
+ expected: "(__type.o1 | undefined)",
898
+ value: input.rollout
899
+ })) && _vo7(input.rollout, _path + ".rollout", true && _exceptionable) || _report(_exceptionable, {
900
+ path: _path + ".rollout",
901
+ expected: "(__type.o1 | undefined)",
902
+ value: input.rollout
903
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.attribute || _report(_exceptionable, {
904
+ path: _path + ".attribute",
905
+ expected: "string",
906
+ value: input.attribute
907
+ }), "eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator || _report(_exceptionable, {
770
908
  path: _path + ".operator",
771
- expected: "string",
909
+ expected: "(\"eq\" | \"in\" | \"neq\" | \"nin\")",
772
910
  value: input.operator
773
- }), undefined === input.values || (Array.isArray(input.values) || _report(_exceptionable, {
774
- path: _path + ".values",
775
- expected: "(Array<string> | undefined)",
776
- value: input.values
777
- })) && input.values.map((elem, _index24) => "string" === typeof elem || _report(_exceptionable, {
778
- path: _path + ".values[" + _index24 + "]",
911
+ }), (null !== input.value || _report(_exceptionable, {
912
+ path: _path + ".value",
913
+ expected: "(Array<string> | boolean | number | string)",
914
+ value: input.value
915
+ })) && (undefined !== input.value || _report(_exceptionable, {
916
+ path: _path + ".value",
917
+ expected: "(Array<string> | boolean | number | string)",
918
+ value: input.value
919
+ })) && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || (Array.isArray(input.value) || _report(_exceptionable, {
920
+ path: _path + ".value",
921
+ expected: "(Array<string> | boolean | number | string)",
922
+ value: input.value
923
+ })) && input.value.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
924
+ path: _path + ".value[" + _index25 + "]",
779
925
  expected: "string",
780
926
  value: elem
781
927
  })).every(flag => flag) || _report(_exceptionable, {
782
- path: _path + ".values",
783
- expected: "(Array<string> | undefined)",
784
- value: input.values
785
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
928
+ path: _path + ".value",
929
+ expected: "(Array<string> | boolean | number | string)",
930
+ value: input.value
931
+ }))].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["AND" === input.operator || "OR" === input.operator || _report(_exceptionable, {
932
+ path: _path + ".operator",
933
+ expected: "(\"AND\" | \"OR\")",
934
+ value: input.operator
935
+ }), (Array.isArray(input.rules) || _report(_exceptionable, {
936
+ path: _path + ".rules",
937
+ expected: "Array<BootstrapCondition>",
938
+ value: input.rules
939
+ })) && input.rules.map((elem, _index26) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
940
+ path: _path + ".rules[" + _index26 + "]",
941
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
942
+ value: elem
943
+ })) && _vu0(elem, _path + ".rules[" + _index26 + "]", true && _exceptionable) || _report(_exceptionable, {
944
+ path: _path + ".rules[" + _index26 + "]",
945
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
946
+ value: elem
947
+ })).every(flag => flag) || _report(_exceptionable, {
948
+ path: _path + ".rules",
949
+ expected: "Array<BootstrapCondition>",
950
+ value: input.rules
951
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["number" === typeof input.percentage || _report(_exceptionable, {
952
+ path: _path + ".percentage",
953
+ expected: "number",
954
+ value: input.percentage
955
+ }), "string" === typeof input.attribute || _report(_exceptionable, {
956
+ path: _path + ".attribute",
957
+ expected: "string",
958
+ value: input.attribute
959
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
786
960
  path: _path + ".name",
787
961
  expected: "string",
788
962
  value: input.name
@@ -802,7 +976,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
802
976
  path: _path + ".service",
803
977
  expected: "ServiceConfig",
804
978
  value: input.service
805
- })) && _vo6(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
979
+ })) && _vo9(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
806
980
  path: _path + ".service",
807
981
  expected: "ServiceConfig",
808
982
  value: input.service
@@ -810,8 +984,8 @@ describe('BootstrapSyncMetadata - type validations', () => {
810
984
  path: _path + ".dependsOn",
811
985
  expected: "Array<string>",
812
986
  value: input.dependsOn
813
- })) && input.dependsOn.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
814
- path: _path + ".dependsOn[" + _index25 + "]",
987
+ })) && input.dependsOn.map((elem, _index27) => "string" === typeof elem || _report(_exceptionable, {
988
+ path: _path + ".dependsOn[" + _index27 + "]",
815
989
  expected: "string",
816
990
  value: elem
817
991
  })).every(flag => flag) || _report(_exceptionable, {
@@ -822,7 +996,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
822
996
  path: _path + ".commonPaths",
823
997
  expected: "(CommonPathsMetadata | undefined)",
824
998
  value: input.commonPaths
825
- })) && _vo7(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
999
+ })) && _vo10(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
826
1000
  path: _path + ".commonPaths",
827
1001
  expected: "(CommonPathsMetadata | undefined)",
828
1002
  value: input.commonPaths
@@ -830,7 +1004,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
830
1004
  path: _path + ".ui",
831
1005
  expected: "(UIConfig | undefined)",
832
1006
  value: input.ui
833
- })) && _vo8(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
1007
+ })) && _vo11(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
834
1008
  path: _path + ".ui",
835
1009
  expected: "(UIConfig | undefined)",
836
1010
  value: input.ui
@@ -838,7 +1012,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
838
1012
  path: _path + ".cloudFunction",
839
1013
  expected: "(CloudFunctionConfig | undefined)",
840
1014
  value: input.cloudFunction
841
- })) && _vo10(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1015
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
842
1016
  path: _path + ".cloudFunction",
843
1017
  expected: "(CloudFunctionConfig | undefined)",
844
1018
  value: input.cloudFunction
@@ -846,7 +1020,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
846
1020
  path: _path + ".authorization",
847
1021
  expected: "(AuthorizationMetadata | undefined)",
848
1022
  value: input.authorization
849
- })) && _vo11(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1023
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
850
1024
  path: _path + ".authorization",
851
1025
  expected: "(AuthorizationMetadata | undefined)",
852
1026
  value: input.authorization
@@ -870,11 +1044,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
870
1044
  path: _path + ".serviceLocal",
871
1045
  expected: "(Partial<ServiceConfig> | undefined)",
872
1046
  value: input.serviceLocal
873
- })) && _vo13(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1047
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
874
1048
  path: _path + ".serviceLocal",
875
1049
  expected: "(Partial<ServiceConfig> | undefined)",
876
1050
  value: input.serviceLocal
877
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
1051
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
878
1052
  path: _path + ".host",
879
1053
  expected: "string",
880
1054
  value: input.host
@@ -890,7 +1064,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
890
1064
  path: _path + ".includeBaseURL",
891
1065
  expected: "(boolean | undefined)",
892
1066
  value: input.includeBaseURL
893
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
1067
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
894
1068
  path: _path + ".apiDocs",
895
1069
  expected: "(string | undefined)",
896
1070
  value: input.apiDocs
@@ -906,7 +1080,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
906
1080
  path: _path + ".changelog",
907
1081
  expected: "(string | undefined)",
908
1082
  value: input.changelog
909
- })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
1083
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
910
1084
  path: _path + ".route",
911
1085
  expected: "string",
912
1086
  value: input.route
@@ -922,7 +1096,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
922
1096
  path: _path + ".customProps",
923
1097
  expected: "ModuleProps",
924
1098
  value: input.customProps
925
- })) && _vo9(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1099
+ })) && _vo12(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
926
1100
  path: _path + ".customProps",
927
1101
  expected: "ModuleProps",
928
1102
  value: input.customProps
@@ -934,12 +1108,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
934
1108
  path: _path + ".isPlatformCustomization",
935
1109
  expected: "(boolean | undefined)",
936
1110
  value: input.isPlatformCustomization
937
- })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1111
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.tenantOverrides || ("object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) || _report(_exceptionable, {
1112
+ path: _path + ".tenantOverrides",
1113
+ expected: "(Record<string, Record<string, any>> | undefined)",
1114
+ value: input.tenantOverrides
1115
+ })) && _vo13(input.tenantOverrides, _path + ".tenantOverrides", true && _exceptionable) || _report(_exceptionable, {
1116
+ path: _path + ".tenantOverrides",
1117
+ expected: "(Record<string, Record<string, any>> | undefined)",
1118
+ value: input.tenantOverrides
1119
+ }), false === _exceptionable || Object.keys(input).map(key => {
1120
+ if (["tenantOverrides"].some(prop => key === prop))
1121
+ return true;
938
1122
  const value = input[key];
939
1123
  if (undefined === value)
940
1124
  return true;
941
1125
  return true;
942
- }).every(flag => flag)].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
1126
+ }).every(flag => flag)].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1127
+ const value = input[key];
1128
+ if (undefined === value)
1129
+ return true;
1130
+ return ("object" === typeof value && null !== value && false === Array.isArray(value) || _report(_exceptionable, {
1131
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1132
+ expected: "Record<string, any>",
1133
+ value: value
1134
+ })) && _vo14(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
1135
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1136
+ expected: "Record<string, any>",
1137
+ value: value
1138
+ });
1139
+ }).every(flag => flag)].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1140
+ const value = input[key];
1141
+ if (undefined === value)
1142
+ return true;
1143
+ return true;
1144
+ }).every(flag => flag)].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
943
1145
  path: _path + ".provider",
944
1146
  expected: "\"aws\"",
945
1147
  value: input.provider
@@ -947,12 +1149,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
947
1149
  path: _path + ".requiresSignature",
948
1150
  expected: "boolean",
949
1151
  value: input.requiresSignature
950
- })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
1152
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
951
1153
  path: _path + ".operations",
952
1154
  expected: "(Array<string> | undefined)",
953
1155
  value: input.operations
954
- })) && input.operations.map((elem, _index26) => "string" === typeof elem || _report(_exceptionable, {
955
- path: _path + ".operations[" + _index26 + "]",
1156
+ })) && input.operations.map((elem, _index28) => "string" === typeof elem || _report(_exceptionable, {
1157
+ path: _path + ".operations[" + _index28 + "]",
956
1158
  expected: "string",
957
1159
  value: elem
958
1160
  })).every(flag => flag) || _report(_exceptionable, {
@@ -963,24 +1165,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
963
1165
  path: _path + ".routes",
964
1166
  expected: "(Array<RouteAuthorization> | undefined)",
965
1167
  value: input.routes
966
- })) && input.routes.map((elem, _index27) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
967
- path: _path + ".routes[" + _index27 + "]",
1168
+ })) && input.routes.map((elem, _index29) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1169
+ path: _path + ".routes[" + _index29 + "]",
968
1170
  expected: "RouteAuthorization",
969
1171
  value: elem
970
- })) && _vo12(elem, _path + ".routes[" + _index27 + "]", true && _exceptionable) || _report(_exceptionable, {
971
- path: _path + ".routes[" + _index27 + "]",
1172
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
1173
+ path: _path + ".routes[" + _index29 + "]",
972
1174
  expected: "RouteAuthorization",
973
1175
  value: elem
974
1176
  })).every(flag => flag) || _report(_exceptionable, {
975
1177
  path: _path + ".routes",
976
1178
  expected: "(Array<RouteAuthorization> | undefined)",
977
1179
  value: input.routes
978
- })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
1180
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
979
1181
  path: _path + ".methods",
980
1182
  expected: "(Array<HttpMethod> | undefined)",
981
1183
  value: input.methods
982
- })) && input.methods.map((elem, _index28) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
983
- path: _path + ".methods[" + _index28 + "]",
1184
+ })) && input.methods.map((elem, _index30) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
1185
+ path: _path + ".methods[" + _index30 + "]",
984
1186
  expected: "(\"CONNECT\" | \"DELETE\" | \"GET\" | \"HEAD\" | \"OPTIONS\" | \"PATCH\" | \"POST\" | \"PUT\" | \"TRACE\")",
985
1187
  value: elem
986
1188
  })).every(flag => flag) || _report(_exceptionable, {
@@ -995,15 +1197,15 @@ describe('BootstrapSyncMetadata - type validations', () => {
995
1197
  path: _path + ".operations",
996
1198
  expected: "Array<string>",
997
1199
  value: input.operations
998
- })) && input.operations.map((elem, _index29) => "string" === typeof elem || _report(_exceptionable, {
999
- path: _path + ".operations[" + _index29 + "]",
1200
+ })) && input.operations.map((elem, _index31) => "string" === typeof elem || _report(_exceptionable, {
1201
+ path: _path + ".operations[" + _index31 + "]",
1000
1202
  expected: "string",
1001
1203
  value: elem
1002
1204
  })).every(flag => flag) || _report(_exceptionable, {
1003
1205
  path: _path + ".operations",
1004
1206
  expected: "Array<string>",
1005
1207
  value: input.operations
1006
- })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
1208
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
1007
1209
  path: _path + ".host",
1008
1210
  expected: "(string | undefined)",
1009
1211
  value: input.host
@@ -1019,7 +1221,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1019
1221
  path: _path + ".includeBaseURL",
1020
1222
  expected: "(boolean | undefined)",
1021
1223
  value: input.includeBaseURL
1022
- })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1224
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1023
1225
  path: _path + ".name",
1024
1226
  expected: "string",
1025
1227
  value: input.name
@@ -1035,7 +1237,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1035
1237
  path: _path + ".allowedByDefault",
1036
1238
  expected: "(boolean | undefined)",
1037
1239
  value: input.allowedByDefault
1038
- })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
1240
+ })].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
1039
1241
  path: _path + ".applicationName",
1040
1242
  expected: "(string | undefined)",
1041
1243
  value: input.applicationName
@@ -1047,12 +1249,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1047
1249
  path: _path + ".description",
1048
1250
  expected: "(string | undefined)",
1049
1251
  value: input.description
1050
- })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
1252
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
1051
1253
  path: _path + ".roles",
1052
1254
  expected: "(Array<string> | undefined)",
1053
1255
  value: input.roles
1054
- })) && input.roles.map((elem, _index30) => "string" === typeof elem || _report(_exceptionable, {
1055
- path: _path + ".roles[" + _index30 + "]",
1256
+ })) && input.roles.map((elem, _index32) => "string" === typeof elem || _report(_exceptionable, {
1257
+ path: _path + ".roles[" + _index32 + "]",
1056
1258
  expected: "string",
1057
1259
  value: elem
1058
1260
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1071,7 +1273,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1071
1273
  path: _path + ".applicationName",
1072
1274
  expected: "(string | undefined)",
1073
1275
  value: input.applicationName
1074
- })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
1276
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
1075
1277
  path: _path + ".moduleName",
1076
1278
  expected: "string",
1077
1279
  value: input.moduleName
@@ -1079,16 +1281,22 @@ describe('BootstrapSyncMetadata - type validations', () => {
1079
1281
  path: _path + ".customProps",
1080
1282
  expected: "Record<string, any>",
1081
1283
  value: input.customProps
1082
- })) && _vo18(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1284
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1083
1285
  path: _path + ".customProps",
1084
1286
  expected: "Record<string, any>",
1085
1287
  value: input.customProps
1086
- })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1087
- const value = input[key];
1088
- if (undefined === value)
1089
- return true;
1090
- return true;
1091
- }).every(flag => flag)].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1288
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1289
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1290
+ return _vo5(input, _path, true && _exceptionable);
1291
+ else if ("AND" === input.operator || "OR" === input.operator)
1292
+ return _vo6(input, _path, true && _exceptionable);
1293
+ else
1294
+ return _report(_exceptionable, {
1295
+ path: _path,
1296
+ expected: "(BootstrapLeafCondition | BootstrapCompositeCondition)",
1297
+ value: input
1298
+ });
1299
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1092
1300
  if (false === __is(input)) {
1093
1301
  errors = [];
1094
1302
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -1143,17 +1351,31 @@ describe('BootstrapSyncMetadata - type validations', () => {
1143
1351
  scopedTo: "any"
1144
1352
  },
1145
1353
  };
1146
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io14(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io15(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io16(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.enabled || "boolean" === typeof input.enabled) && (undefined === input.applicationName || "string" === typeof input.applicationName) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.contextName && "string" === typeof input.operator && (undefined === input.values || Array.isArray(input.values) && input.values.every(elem => "string" === typeof elem)); const _io5 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io6(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io7(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io8(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io10(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io11(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io13(input.serviceLocal)); const _io6 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io7 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io8 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io9(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io9 = input => Object.keys(input).every(key => {
1354
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io20(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io21(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io22(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.visible || "boolean" === typeof input.visible) && true && (undefined === input.valueRules || Array.isArray(input.valueRules) && input.valueRules.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io4 = input => (undefined === input.name || "string" === typeof input.name) && ("object" === typeof input.condition && null !== input.condition && _iu0(input.condition)) && true && (undefined === input.rollout || "object" === typeof input.rollout && null !== input.rollout && _io7(input.rollout)); const _io5 = input => "string" === typeof input.attribute && ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator) && (null !== input.value && undefined !== input.value && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem))); const _io6 = input => ("AND" === input.operator || "OR" === input.operator) && (Array.isArray(input.rules) && input.rules.every(elem => "object" === typeof elem && null !== elem && _iu0(elem))); const _io7 = input => "number" === typeof input.percentage && "string" === typeof input.attribute; const _io8 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io9(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io10(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io11(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io15(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io16(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io18(input.serviceLocal)); const _io9 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io10 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io11 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io12(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io12 = input => (undefined === input.tenantOverrides || "object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) && _io13(input.tenantOverrides)) && Object.keys(input).every(key => {
1355
+ if (["tenantOverrides"].some(prop => key === prop))
1356
+ return true;
1147
1357
  const value = input[key];
1148
1358
  if (undefined === value)
1149
1359
  return true;
1150
1360
  return true;
1151
- }); const _io10 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io11 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io12(elem))); const _io12 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io13 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io14 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io15 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io16 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io17 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io18(input.customProps)); const _io18 = input => Object.keys(input).every(key => {
1361
+ }); const _io13 = input => Object.keys(input).every(key => {
1362
+ const value = input[key];
1363
+ if (undefined === value)
1364
+ return true;
1365
+ return "object" === typeof value && null !== value && false === Array.isArray(value) && _io14(value);
1366
+ }); const _io14 = input => Object.keys(input).every(key => {
1152
1367
  const value = input[key];
1153
1368
  if (undefined === value)
1154
1369
  return true;
1155
1370
  return true;
1156
- }); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
1371
+ }); const _io15 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io16 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io17 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io18 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io19 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io20 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io21 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io22 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io14(input.customProps)); const _iu0 = input => (() => {
1372
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1373
+ return _io5(input);
1374
+ else if ("AND" === input.operator || "OR" === input.operator)
1375
+ return _io6(input);
1376
+ else
1377
+ return false;
1378
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
1157
1379
  path: _path + ".syncConfig",
1158
1380
  expected: "__type",
1159
1381
  value: input.syncConfig
@@ -1165,12 +1387,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1165
1387
  path: _path + ".sharedLibraries",
1166
1388
  expected: "(Array<CreateSharedLibraryDTO> | undefined)",
1167
1389
  value: input.sharedLibraries
1168
- })) && input.sharedLibraries.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1169
- path: _path + ".sharedLibraries[" + _index16 + "]",
1390
+ })) && input.sharedLibraries.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1391
+ path: _path + ".sharedLibraries[" + _index17 + "]",
1170
1392
  expected: "CreateSharedLibraryDTO",
1171
1393
  value: elem
1172
- })) && _vo2(elem, _path + ".sharedLibraries[" + _index16 + "]", true && _exceptionable) || _report(_exceptionable, {
1173
- path: _path + ".sharedLibraries[" + _index16 + "]",
1394
+ })) && _vo2(elem, _path + ".sharedLibraries[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
1395
+ path: _path + ".sharedLibraries[" + _index17 + "]",
1174
1396
  expected: "CreateSharedLibraryDTO",
1175
1397
  value: elem
1176
1398
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1181,12 +1403,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1181
1403
  path: _path + ".featureFlags",
1182
1404
  expected: "(Array<BootstrapFeatureFlag> | undefined)",
1183
1405
  value: input.featureFlags
1184
- })) && input.featureFlags.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1185
- path: _path + ".featureFlags[" + _index17 + "]",
1406
+ })) && input.featureFlags.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1407
+ path: _path + ".featureFlags[" + _index18 + "]",
1186
1408
  expected: "BootstrapFeatureFlag",
1187
1409
  value: elem
1188
- })) && _vo3(elem, _path + ".featureFlags[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
1189
- path: _path + ".featureFlags[" + _index17 + "]",
1410
+ })) && _vo3(elem, _path + ".featureFlags[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
1411
+ path: _path + ".featureFlags[" + _index18 + "]",
1190
1412
  expected: "BootstrapFeatureFlag",
1191
1413
  value: elem
1192
1414
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1197,12 +1419,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1197
1419
  path: _path + ".catalog",
1198
1420
  expected: "(Array<BootstrapModule> | undefined)",
1199
1421
  value: input.catalog
1200
- })) && input.catalog.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1201
- path: _path + ".catalog[" + _index18 + "]",
1422
+ })) && input.catalog.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1423
+ path: _path + ".catalog[" + _index19 + "]",
1202
1424
  expected: "BootstrapModule",
1203
1425
  value: elem
1204
- })) && _vo5(elem, _path + ".catalog[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
1205
- path: _path + ".catalog[" + _index18 + "]",
1426
+ })) && _vo8(elem, _path + ".catalog[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
1427
+ path: _path + ".catalog[" + _index19 + "]",
1206
1428
  expected: "BootstrapModule",
1207
1429
  value: elem
1208
1430
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1213,12 +1435,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1213
1435
  path: _path + ".applicationsAuthz",
1214
1436
  expected: "(Array<CreateApplicationDTO> | undefined)",
1215
1437
  value: input.applicationsAuthz
1216
- })) && input.applicationsAuthz.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1217
- path: _path + ".applicationsAuthz[" + _index19 + "]",
1438
+ })) && input.applicationsAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1439
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
1218
1440
  expected: "CreateApplicationDTO",
1219
1441
  value: elem
1220
- })) && _vo14(elem, _path + ".applicationsAuthz[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
1221
- path: _path + ".applicationsAuthz[" + _index19 + "]",
1442
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
1443
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
1222
1444
  expected: "CreateApplicationDTO",
1223
1445
  value: elem
1224
1446
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1229,12 +1451,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1229
1451
  path: _path + ".rolesAuthz",
1230
1452
  expected: "(Array<CreateRoleDTO> | undefined)",
1231
1453
  value: input.rolesAuthz
1232
- })) && input.rolesAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1233
- path: _path + ".rolesAuthz[" + _index20 + "]",
1454
+ })) && input.rolesAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1455
+ path: _path + ".rolesAuthz[" + _index21 + "]",
1234
1456
  expected: "CreateRoleDTO",
1235
1457
  value: elem
1236
- })) && _vo15(elem, _path + ".rolesAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
1237
- path: _path + ".rolesAuthz[" + _index20 + "]",
1458
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
1459
+ path: _path + ".rolesAuthz[" + _index21 + "]",
1238
1460
  expected: "CreateRoleDTO",
1239
1461
  value: elem
1240
1462
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1245,12 +1467,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1245
1467
  path: _path + ".operationsAuthz",
1246
1468
  expected: "(Array<OperationAuthzBootstrap> | undefined)",
1247
1469
  value: input.operationsAuthz
1248
- })) && input.operationsAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1249
- path: _path + ".operationsAuthz[" + _index21 + "]",
1470
+ })) && input.operationsAuthz.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1471
+ path: _path + ".operationsAuthz[" + _index22 + "]",
1250
1472
  expected: "OperationAuthzBootstrap",
1251
1473
  value: elem
1252
- })) && _vo16(elem, _path + ".operationsAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
1253
- path: _path + ".operationsAuthz[" + _index21 + "]",
1474
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
1475
+ path: _path + ".operationsAuthz[" + _index22 + "]",
1254
1476
  expected: "OperationAuthzBootstrap",
1255
1477
  value: elem
1256
1478
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1261,12 +1483,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1261
1483
  path: _path + ".modulesConfig",
1262
1484
  expected: "(Array<UpdateModuleUIConfigDTO> | undefined)",
1263
1485
  value: input.modulesConfig
1264
- })) && input.modulesConfig.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1265
- path: _path + ".modulesConfig[" + _index22 + "]",
1486
+ })) && input.modulesConfig.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1487
+ path: _path + ".modulesConfig[" + _index23 + "]",
1266
1488
  expected: "UpdateModuleUIConfigDTO",
1267
1489
  value: elem
1268
- })) && _vo17(elem, _path + ".modulesConfig[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
1269
- path: _path + ".modulesConfig[" + _index22 + "]",
1490
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
1491
+ path: _path + ".modulesConfig[" + _index23 + "]",
1270
1492
  expected: "UpdateModuleUIConfigDTO",
1271
1493
  value: elem
1272
1494
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1297,51 +1519,107 @@ describe('BootstrapSyncMetadata - type validations', () => {
1297
1519
  path: _path + ".description",
1298
1520
  expected: "(string | undefined)",
1299
1521
  value: input.description
1300
- }), undefined === input.enabled || "boolean" === typeof input.enabled || _report(_exceptionable, {
1301
- path: _path + ".enabled",
1522
+ }), undefined === input.visible || "boolean" === typeof input.visible || _report(_exceptionable, {
1523
+ path: _path + ".visible",
1302
1524
  expected: "(boolean | undefined)",
1303
- value: input.enabled
1525
+ value: input.visible
1526
+ }), true, undefined === input.valueRules || (Array.isArray(input.valueRules) || _report(_exceptionable, {
1527
+ path: _path + ".valueRules",
1528
+ expected: "(Array<BootstrapValueRule> | undefined)",
1529
+ value: input.valueRules
1530
+ })) && input.valueRules.map((elem, _index24) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1531
+ path: _path + ".valueRules[" + _index24 + "]",
1532
+ expected: "BootstrapValueRule",
1533
+ value: elem
1534
+ })) && _vo4(elem, _path + ".valueRules[" + _index24 + "]", true && _exceptionable) || _report(_exceptionable, {
1535
+ path: _path + ".valueRules[" + _index24 + "]",
1536
+ expected: "BootstrapValueRule",
1537
+ value: elem
1538
+ })).every(flag => flag) || _report(_exceptionable, {
1539
+ path: _path + ".valueRules",
1540
+ expected: "(Array<BootstrapValueRule> | undefined)",
1541
+ value: input.valueRules
1304
1542
  }), undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
1305
1543
  path: _path + ".applicationName",
1306
1544
  expected: "(string | undefined)",
1307
1545
  value: input.applicationName
1308
- }), undefined === input.constraints || (Array.isArray(input.constraints) || _report(_exceptionable, {
1309
- path: _path + ".constraints",
1310
- expected: "(Array<__type> | undefined)",
1311
- value: input.constraints
1312
- })) && input.constraints.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1313
- path: _path + ".constraints[" + _index23 + "]",
1314
- expected: "__type.o1",
1315
- value: elem
1316
- })) && _vo4(elem, _path + ".constraints[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
1317
- path: _path + ".constraints[" + _index23 + "]",
1318
- expected: "__type.o1",
1319
- value: elem
1320
- })).every(flag => flag) || _report(_exceptionable, {
1321
- path: _path + ".constraints",
1322
- expected: "(Array<__type> | undefined)",
1323
- value: input.constraints
1324
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.contextName || _report(_exceptionable, {
1325
- path: _path + ".contextName",
1326
- expected: "string",
1327
- value: input.contextName
1328
- }), "string" === typeof input.operator || _report(_exceptionable, {
1546
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.name || "string" === typeof input.name || _report(_exceptionable, {
1547
+ path: _path + ".name",
1548
+ expected: "(string | undefined)",
1549
+ value: input.name
1550
+ }), ("object" === typeof input.condition && null !== input.condition || _report(_exceptionable, {
1551
+ path: _path + ".condition",
1552
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
1553
+ value: input.condition
1554
+ })) && _vu0(input.condition, _path + ".condition", true && _exceptionable) || _report(_exceptionable, {
1555
+ path: _path + ".condition",
1556
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
1557
+ value: input.condition
1558
+ }), true, undefined === input.rollout || ("object" === typeof input.rollout && null !== input.rollout || _report(_exceptionable, {
1559
+ path: _path + ".rollout",
1560
+ expected: "(__type.o1 | undefined)",
1561
+ value: input.rollout
1562
+ })) && _vo7(input.rollout, _path + ".rollout", true && _exceptionable) || _report(_exceptionable, {
1563
+ path: _path + ".rollout",
1564
+ expected: "(__type.o1 | undefined)",
1565
+ value: input.rollout
1566
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.attribute || _report(_exceptionable, {
1567
+ path: _path + ".attribute",
1568
+ expected: "string",
1569
+ value: input.attribute
1570
+ }), "eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator || _report(_exceptionable, {
1329
1571
  path: _path + ".operator",
1330
- expected: "string",
1572
+ expected: "(\"eq\" | \"in\" | \"neq\" | \"nin\")",
1331
1573
  value: input.operator
1332
- }), undefined === input.values || (Array.isArray(input.values) || _report(_exceptionable, {
1333
- path: _path + ".values",
1334
- expected: "(Array<string> | undefined)",
1335
- value: input.values
1336
- })) && input.values.map((elem, _index24) => "string" === typeof elem || _report(_exceptionable, {
1337
- path: _path + ".values[" + _index24 + "]",
1574
+ }), (null !== input.value || _report(_exceptionable, {
1575
+ path: _path + ".value",
1576
+ expected: "(Array<string> | boolean | number | string)",
1577
+ value: input.value
1578
+ })) && (undefined !== input.value || _report(_exceptionable, {
1579
+ path: _path + ".value",
1580
+ expected: "(Array<string> | boolean | number | string)",
1581
+ value: input.value
1582
+ })) && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || (Array.isArray(input.value) || _report(_exceptionable, {
1583
+ path: _path + ".value",
1584
+ expected: "(Array<string> | boolean | number | string)",
1585
+ value: input.value
1586
+ })) && input.value.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
1587
+ path: _path + ".value[" + _index25 + "]",
1338
1588
  expected: "string",
1339
1589
  value: elem
1340
1590
  })).every(flag => flag) || _report(_exceptionable, {
1341
- path: _path + ".values",
1342
- expected: "(Array<string> | undefined)",
1343
- value: input.values
1344
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1591
+ path: _path + ".value",
1592
+ expected: "(Array<string> | boolean | number | string)",
1593
+ value: input.value
1594
+ }))].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["AND" === input.operator || "OR" === input.operator || _report(_exceptionable, {
1595
+ path: _path + ".operator",
1596
+ expected: "(\"AND\" | \"OR\")",
1597
+ value: input.operator
1598
+ }), (Array.isArray(input.rules) || _report(_exceptionable, {
1599
+ path: _path + ".rules",
1600
+ expected: "Array<BootstrapCondition>",
1601
+ value: input.rules
1602
+ })) && input.rules.map((elem, _index26) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1603
+ path: _path + ".rules[" + _index26 + "]",
1604
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
1605
+ value: elem
1606
+ })) && _vu0(elem, _path + ".rules[" + _index26 + "]", true && _exceptionable) || _report(_exceptionable, {
1607
+ path: _path + ".rules[" + _index26 + "]",
1608
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
1609
+ value: elem
1610
+ })).every(flag => flag) || _report(_exceptionable, {
1611
+ path: _path + ".rules",
1612
+ expected: "Array<BootstrapCondition>",
1613
+ value: input.rules
1614
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["number" === typeof input.percentage || _report(_exceptionable, {
1615
+ path: _path + ".percentage",
1616
+ expected: "number",
1617
+ value: input.percentage
1618
+ }), "string" === typeof input.attribute || _report(_exceptionable, {
1619
+ path: _path + ".attribute",
1620
+ expected: "string",
1621
+ value: input.attribute
1622
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1345
1623
  path: _path + ".name",
1346
1624
  expected: "string",
1347
1625
  value: input.name
@@ -1361,7 +1639,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1361
1639
  path: _path + ".service",
1362
1640
  expected: "ServiceConfig",
1363
1641
  value: input.service
1364
- })) && _vo6(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
1642
+ })) && _vo9(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
1365
1643
  path: _path + ".service",
1366
1644
  expected: "ServiceConfig",
1367
1645
  value: input.service
@@ -1369,8 +1647,8 @@ describe('BootstrapSyncMetadata - type validations', () => {
1369
1647
  path: _path + ".dependsOn",
1370
1648
  expected: "Array<string>",
1371
1649
  value: input.dependsOn
1372
- })) && input.dependsOn.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
1373
- path: _path + ".dependsOn[" + _index25 + "]",
1650
+ })) && input.dependsOn.map((elem, _index27) => "string" === typeof elem || _report(_exceptionable, {
1651
+ path: _path + ".dependsOn[" + _index27 + "]",
1374
1652
  expected: "string",
1375
1653
  value: elem
1376
1654
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1381,7 +1659,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1381
1659
  path: _path + ".commonPaths",
1382
1660
  expected: "(CommonPathsMetadata | undefined)",
1383
1661
  value: input.commonPaths
1384
- })) && _vo7(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
1662
+ })) && _vo10(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
1385
1663
  path: _path + ".commonPaths",
1386
1664
  expected: "(CommonPathsMetadata | undefined)",
1387
1665
  value: input.commonPaths
@@ -1389,7 +1667,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1389
1667
  path: _path + ".ui",
1390
1668
  expected: "(UIConfig | undefined)",
1391
1669
  value: input.ui
1392
- })) && _vo8(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
1670
+ })) && _vo11(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
1393
1671
  path: _path + ".ui",
1394
1672
  expected: "(UIConfig | undefined)",
1395
1673
  value: input.ui
@@ -1397,7 +1675,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1397
1675
  path: _path + ".cloudFunction",
1398
1676
  expected: "(CloudFunctionConfig | undefined)",
1399
1677
  value: input.cloudFunction
1400
- })) && _vo10(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1678
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1401
1679
  path: _path + ".cloudFunction",
1402
1680
  expected: "(CloudFunctionConfig | undefined)",
1403
1681
  value: input.cloudFunction
@@ -1405,7 +1683,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1405
1683
  path: _path + ".authorization",
1406
1684
  expected: "(AuthorizationMetadata | undefined)",
1407
1685
  value: input.authorization
1408
- })) && _vo11(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1686
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1409
1687
  path: _path + ".authorization",
1410
1688
  expected: "(AuthorizationMetadata | undefined)",
1411
1689
  value: input.authorization
@@ -1429,11 +1707,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
1429
1707
  path: _path + ".serviceLocal",
1430
1708
  expected: "(Partial<ServiceConfig> | undefined)",
1431
1709
  value: input.serviceLocal
1432
- })) && _vo13(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1710
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1433
1711
  path: _path + ".serviceLocal",
1434
1712
  expected: "(Partial<ServiceConfig> | undefined)",
1435
1713
  value: input.serviceLocal
1436
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
1714
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
1437
1715
  path: _path + ".host",
1438
1716
  expected: "string",
1439
1717
  value: input.host
@@ -1449,7 +1727,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1449
1727
  path: _path + ".includeBaseURL",
1450
1728
  expected: "(boolean | undefined)",
1451
1729
  value: input.includeBaseURL
1452
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
1730
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
1453
1731
  path: _path + ".apiDocs",
1454
1732
  expected: "(string | undefined)",
1455
1733
  value: input.apiDocs
@@ -1465,7 +1743,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1465
1743
  path: _path + ".changelog",
1466
1744
  expected: "(string | undefined)",
1467
1745
  value: input.changelog
1468
- })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
1746
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
1469
1747
  path: _path + ".route",
1470
1748
  expected: "string",
1471
1749
  value: input.route
@@ -1481,7 +1759,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1481
1759
  path: _path + ".customProps",
1482
1760
  expected: "ModuleProps",
1483
1761
  value: input.customProps
1484
- })) && _vo9(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1762
+ })) && _vo12(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1485
1763
  path: _path + ".customProps",
1486
1764
  expected: "ModuleProps",
1487
1765
  value: input.customProps
@@ -1493,12 +1771,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
1493
1771
  path: _path + ".isPlatformCustomization",
1494
1772
  expected: "(boolean | undefined)",
1495
1773
  value: input.isPlatformCustomization
1496
- })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1774
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.tenantOverrides || ("object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) || _report(_exceptionable, {
1775
+ path: _path + ".tenantOverrides",
1776
+ expected: "(Record<string, Record<string, any>> | undefined)",
1777
+ value: input.tenantOverrides
1778
+ })) && _vo13(input.tenantOverrides, _path + ".tenantOverrides", true && _exceptionable) || _report(_exceptionable, {
1779
+ path: _path + ".tenantOverrides",
1780
+ expected: "(Record<string, Record<string, any>> | undefined)",
1781
+ value: input.tenantOverrides
1782
+ }), false === _exceptionable || Object.keys(input).map(key => {
1783
+ if (["tenantOverrides"].some(prop => key === prop))
1784
+ return true;
1497
1785
  const value = input[key];
1498
1786
  if (undefined === value)
1499
1787
  return true;
1500
1788
  return true;
1501
- }).every(flag => flag)].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
1789
+ }).every(flag => flag)].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1790
+ const value = input[key];
1791
+ if (undefined === value)
1792
+ return true;
1793
+ return ("object" === typeof value && null !== value && false === Array.isArray(value) || _report(_exceptionable, {
1794
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1795
+ expected: "Record<string, any>",
1796
+ value: value
1797
+ })) && _vo14(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
1798
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
1799
+ expected: "Record<string, any>",
1800
+ value: value
1801
+ });
1802
+ }).every(flag => flag)].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1803
+ const value = input[key];
1804
+ if (undefined === value)
1805
+ return true;
1806
+ return true;
1807
+ }).every(flag => flag)].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
1502
1808
  path: _path + ".provider",
1503
1809
  expected: "\"aws\"",
1504
1810
  value: input.provider
@@ -1506,12 +1812,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1506
1812
  path: _path + ".requiresSignature",
1507
1813
  expected: "boolean",
1508
1814
  value: input.requiresSignature
1509
- })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
1815
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
1510
1816
  path: _path + ".operations",
1511
1817
  expected: "(Array<string> | undefined)",
1512
1818
  value: input.operations
1513
- })) && input.operations.map((elem, _index26) => "string" === typeof elem || _report(_exceptionable, {
1514
- path: _path + ".operations[" + _index26 + "]",
1819
+ })) && input.operations.map((elem, _index28) => "string" === typeof elem || _report(_exceptionable, {
1820
+ path: _path + ".operations[" + _index28 + "]",
1515
1821
  expected: "string",
1516
1822
  value: elem
1517
1823
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1522,24 +1828,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
1522
1828
  path: _path + ".routes",
1523
1829
  expected: "(Array<RouteAuthorization> | undefined)",
1524
1830
  value: input.routes
1525
- })) && input.routes.map((elem, _index27) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1526
- path: _path + ".routes[" + _index27 + "]",
1831
+ })) && input.routes.map((elem, _index29) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1832
+ path: _path + ".routes[" + _index29 + "]",
1527
1833
  expected: "RouteAuthorization",
1528
1834
  value: elem
1529
- })) && _vo12(elem, _path + ".routes[" + _index27 + "]", true && _exceptionable) || _report(_exceptionable, {
1530
- path: _path + ".routes[" + _index27 + "]",
1835
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
1836
+ path: _path + ".routes[" + _index29 + "]",
1531
1837
  expected: "RouteAuthorization",
1532
1838
  value: elem
1533
1839
  })).every(flag => flag) || _report(_exceptionable, {
1534
1840
  path: _path + ".routes",
1535
1841
  expected: "(Array<RouteAuthorization> | undefined)",
1536
1842
  value: input.routes
1537
- })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
1843
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
1538
1844
  path: _path + ".methods",
1539
1845
  expected: "(Array<HttpMethod> | undefined)",
1540
1846
  value: input.methods
1541
- })) && input.methods.map((elem, _index28) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
1542
- path: _path + ".methods[" + _index28 + "]",
1847
+ })) && input.methods.map((elem, _index30) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
1848
+ path: _path + ".methods[" + _index30 + "]",
1543
1849
  expected: "(\"CONNECT\" | \"DELETE\" | \"GET\" | \"HEAD\" | \"OPTIONS\" | \"PATCH\" | \"POST\" | \"PUT\" | \"TRACE\")",
1544
1850
  value: elem
1545
1851
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1554,15 +1860,15 @@ describe('BootstrapSyncMetadata - type validations', () => {
1554
1860
  path: _path + ".operations",
1555
1861
  expected: "Array<string>",
1556
1862
  value: input.operations
1557
- })) && input.operations.map((elem, _index29) => "string" === typeof elem || _report(_exceptionable, {
1558
- path: _path + ".operations[" + _index29 + "]",
1863
+ })) && input.operations.map((elem, _index31) => "string" === typeof elem || _report(_exceptionable, {
1864
+ path: _path + ".operations[" + _index31 + "]",
1559
1865
  expected: "string",
1560
1866
  value: elem
1561
1867
  })).every(flag => flag) || _report(_exceptionable, {
1562
1868
  path: _path + ".operations",
1563
1869
  expected: "Array<string>",
1564
1870
  value: input.operations
1565
- })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
1871
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
1566
1872
  path: _path + ".host",
1567
1873
  expected: "(string | undefined)",
1568
1874
  value: input.host
@@ -1578,7 +1884,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1578
1884
  path: _path + ".includeBaseURL",
1579
1885
  expected: "(boolean | undefined)",
1580
1886
  value: input.includeBaseURL
1581
- })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1887
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1582
1888
  path: _path + ".name",
1583
1889
  expected: "string",
1584
1890
  value: input.name
@@ -1594,7 +1900,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1594
1900
  path: _path + ".allowedByDefault",
1595
1901
  expected: "(boolean | undefined)",
1596
1902
  value: input.allowedByDefault
1597
- })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
1903
+ })].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
1598
1904
  path: _path + ".applicationName",
1599
1905
  expected: "(string | undefined)",
1600
1906
  value: input.applicationName
@@ -1606,12 +1912,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1606
1912
  path: _path + ".description",
1607
1913
  expected: "(string | undefined)",
1608
1914
  value: input.description
1609
- })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
1915
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
1610
1916
  path: _path + ".roles",
1611
1917
  expected: "(Array<string> | undefined)",
1612
1918
  value: input.roles
1613
- })) && input.roles.map((elem, _index30) => "string" === typeof elem || _report(_exceptionable, {
1614
- path: _path + ".roles[" + _index30 + "]",
1919
+ })) && input.roles.map((elem, _index32) => "string" === typeof elem || _report(_exceptionable, {
1920
+ path: _path + ".roles[" + _index32 + "]",
1615
1921
  expected: "string",
1616
1922
  value: elem
1617
1923
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1630,7 +1936,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1630
1936
  path: _path + ".applicationName",
1631
1937
  expected: "(string | undefined)",
1632
1938
  value: input.applicationName
1633
- })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
1939
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
1634
1940
  path: _path + ".moduleName",
1635
1941
  expected: "string",
1636
1942
  value: input.moduleName
@@ -1638,16 +1944,22 @@ describe('BootstrapSyncMetadata - type validations', () => {
1638
1944
  path: _path + ".customProps",
1639
1945
  expected: "Record<string, any>",
1640
1946
  value: input.customProps
1641
- })) && _vo18(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1947
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1642
1948
  path: _path + ".customProps",
1643
1949
  expected: "Record<string, any>",
1644
1950
  value: input.customProps
1645
- })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1646
- const value = input[key];
1647
- if (undefined === value)
1648
- return true;
1649
- return true;
1650
- }).every(flag => flag)].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1951
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1952
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1953
+ return _vo5(input, _path, true && _exceptionable);
1954
+ else if ("AND" === input.operator || "OR" === input.operator)
1955
+ return _vo6(input, _path, true && _exceptionable);
1956
+ else
1957
+ return _report(_exceptionable, {
1958
+ path: _path,
1959
+ expected: "(BootstrapLeafCondition | BootstrapCompositeCondition)",
1960
+ value: input
1961
+ });
1962
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
1651
1963
  if (false === __is(input)) {
1652
1964
  errors = [];
1653
1965
  _report = __typia_transform__validateReport._validateReport(errors);
@@ -1702,17 +2014,31 @@ describe('BootstrapSyncMetadata - type validations', () => {
1702
2014
  scopedTo: "any"
1703
2015
  },
1704
2016
  };
1705
- const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io5(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io14(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io15(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io16(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.enabled || "boolean" === typeof input.enabled) && (undefined === input.applicationName || "string" === typeof input.applicationName) && (undefined === input.constraints || Array.isArray(input.constraints) && input.constraints.every(elem => "object" === typeof elem && null !== elem && _io4(elem))); const _io4 = input => "string" === typeof input.contextName && "string" === typeof input.operator && (undefined === input.values || Array.isArray(input.values) && input.values.every(elem => "string" === typeof elem)); const _io5 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io6(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io7(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io8(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io10(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io11(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io13(input.serviceLocal)); const _io6 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io7 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io8 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io9(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io9 = input => Object.keys(input).every(key => {
2017
+ const result = (() => { const _io0 = input => "object" === typeof input.syncConfig && null !== input.syncConfig && _io1(input.syncConfig) && (undefined === input.sharedLibraries || Array.isArray(input.sharedLibraries) && input.sharedLibraries.every(elem => "object" === typeof elem && null !== elem && _io2(elem))) && (undefined === input.featureFlags || Array.isArray(input.featureFlags) && input.featureFlags.every(elem => "object" === typeof elem && null !== elem && _io3(elem))) && (undefined === input.catalog || Array.isArray(input.catalog) && input.catalog.every(elem => "object" === typeof elem && null !== elem && _io8(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io20(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io21(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io22(elem))); const _io1 = input => "string" === typeof input.scopedTo; const _io2 = input => "string" === typeof input.name && "string" === typeof input.url && (undefined === input.description || "string" === typeof input.description); const _io3 = input => "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.visible || "boolean" === typeof input.visible) && true && (undefined === input.valueRules || Array.isArray(input.valueRules) && input.valueRules.every(elem => "object" === typeof elem && null !== elem && _io4(elem))) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io4 = input => (undefined === input.name || "string" === typeof input.name) && ("object" === typeof input.condition && null !== input.condition && _iu0(input.condition)) && true && (undefined === input.rollout || "object" === typeof input.rollout && null !== input.rollout && _io7(input.rollout)); const _io5 = input => "string" === typeof input.attribute && ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator) && (null !== input.value && undefined !== input.value && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || Array.isArray(input.value) && input.value.every(elem => "string" === typeof elem))); const _io6 = input => ("AND" === input.operator || "OR" === input.operator) && (Array.isArray(input.rules) && input.rules.every(elem => "object" === typeof elem && null !== elem && _iu0(elem))); const _io7 = input => "number" === typeof input.percentage && "string" === typeof input.attribute; const _io8 = input => "string" === typeof input.name && "string" === typeof input.displayName && ("service" === input.type || "app" === input.type || "tool" === input.type || "utility" === input.type || "cloud-function" === input.type || "documentation" === input.type) && "string" === typeof input.baseUrl && ("object" === typeof input.service && null !== input.service && _io9(input.service)) && (Array.isArray(input.dependsOn) && input.dependsOn.every(elem => "string" === typeof elem)) && (undefined === input.commonPaths || "object" === typeof input.commonPaths && null !== input.commonPaths && false === Array.isArray(input.commonPaths) && _io10(input.commonPaths)) && (undefined === input.ui || "object" === typeof input.ui && null !== input.ui && _io11(input.ui)) && (undefined === input.cloudFunction || "object" === typeof input.cloudFunction && null !== input.cloudFunction && _io15(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io16(input.authorization)) && (undefined === input.application || "string" === typeof input.application) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.isPublic || "boolean" === typeof input.isPublic) && (undefined === input.id || "number" === typeof input.id) && (undefined === input.serviceLocal || "object" === typeof input.serviceLocal && null !== input.serviceLocal && false === Array.isArray(input.serviceLocal) && _io18(input.serviceLocal)); const _io9 = input => "string" === typeof input.host && "number" === typeof input.port && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io10 = input => (undefined === input.apiDocs || "string" === typeof input.apiDocs) && (undefined === input.version || "string" === typeof input.version) && (undefined === input.health || "string" === typeof input.health) && (undefined === input.changelog || "string" === typeof input.changelog); const _io11 = input => "string" === typeof input.route && (null === input.mountAtSelector || undefined === input.mountAtSelector || "string" === typeof input.mountAtSelector) && "string" === typeof input.bundleFile && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io12(input.customProps)) && (undefined === input.shell || "boolean" === typeof input.shell) && (undefined === input.isPlatformCustomization || "boolean" === typeof input.isPlatformCustomization); const _io12 = input => (undefined === input.tenantOverrides || "object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) && _io13(input.tenantOverrides)) && Object.keys(input).every(key => {
2018
+ if (["tenantOverrides"].some(prop => key === prop))
2019
+ return true;
1706
2020
  const value = input[key];
1707
2021
  if (undefined === value)
1708
2022
  return true;
1709
2023
  return true;
1710
- }); const _io10 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io11 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io12(elem))); const _io12 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io13 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io14 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io15 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io16 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io17 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io18(input.customProps)); const _io18 = input => Object.keys(input).every(key => {
2024
+ }); const _io13 = input => Object.keys(input).every(key => {
2025
+ const value = input[key];
2026
+ if (undefined === value)
2027
+ return true;
2028
+ return "object" === typeof value && null !== value && false === Array.isArray(value) && _io14(value);
2029
+ }); const _io14 = input => Object.keys(input).every(key => {
1711
2030
  const value = input[key];
1712
2031
  if (undefined === value)
1713
2032
  return true;
1714
2033
  return true;
1715
- }); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
2034
+ }); const _io15 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io16 = input => (undefined === input.operations || Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)) && (undefined === input.routes || Array.isArray(input.routes) && input.routes.every(elem => "object" === typeof elem && null !== elem && _io17(elem))); const _io17 = input => (undefined === input.methods || Array.isArray(input.methods) && input.methods.every(elem => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem)) && "string" === typeof input.pattern && (Array.isArray(input.operations) && input.operations.every(elem => "string" === typeof elem)); const _io18 = input => (undefined === input.host || "string" === typeof input.host) && (undefined === input.port || "number" === typeof input.port) && (undefined === input.protocol || "string" === typeof input.protocol) && (undefined === input.includeBaseURL || "boolean" === typeof input.includeBaseURL); const _io19 = input => "string" === typeof input.name && (undefined === input.displayName || "string" === typeof input.displayName) && (undefined === input.description || "string" === typeof input.description) && (undefined === input.allowedByDefault || "boolean" === typeof input.allowedByDefault); const _io20 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io21 = input => (undefined === input.roles || Array.isArray(input.roles) && input.roles.every(elem => "string" === typeof elem)) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description) && (undefined === input.applicationName || "string" === typeof input.applicationName); const _io22 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io14(input.customProps)); const _iu0 = input => (() => {
2035
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
2036
+ return _io5(input);
2037
+ else if ("AND" === input.operator || "OR" === input.operator)
2038
+ return _io6(input);
2039
+ else
2040
+ return false;
2041
+ })(); const _vo0 = (input, _path, _exceptionable = true) => [("object" === typeof input.syncConfig && null !== input.syncConfig || _report(_exceptionable, {
1716
2042
  path: _path + ".syncConfig",
1717
2043
  expected: "__type",
1718
2044
  value: input.syncConfig
@@ -1724,12 +2050,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1724
2050
  path: _path + ".sharedLibraries",
1725
2051
  expected: "(Array<CreateSharedLibraryDTO> | undefined)",
1726
2052
  value: input.sharedLibraries
1727
- })) && input.sharedLibraries.map((elem, _index16) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1728
- path: _path + ".sharedLibraries[" + _index16 + "]",
2053
+ })) && input.sharedLibraries.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2054
+ path: _path + ".sharedLibraries[" + _index17 + "]",
1729
2055
  expected: "CreateSharedLibraryDTO",
1730
2056
  value: elem
1731
- })) && _vo2(elem, _path + ".sharedLibraries[" + _index16 + "]", true && _exceptionable) || _report(_exceptionable, {
1732
- path: _path + ".sharedLibraries[" + _index16 + "]",
2057
+ })) && _vo2(elem, _path + ".sharedLibraries[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
2058
+ path: _path + ".sharedLibraries[" + _index17 + "]",
1733
2059
  expected: "CreateSharedLibraryDTO",
1734
2060
  value: elem
1735
2061
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1740,12 +2066,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1740
2066
  path: _path + ".featureFlags",
1741
2067
  expected: "(Array<BootstrapFeatureFlag> | undefined)",
1742
2068
  value: input.featureFlags
1743
- })) && input.featureFlags.map((elem, _index17) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1744
- path: _path + ".featureFlags[" + _index17 + "]",
2069
+ })) && input.featureFlags.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2070
+ path: _path + ".featureFlags[" + _index18 + "]",
1745
2071
  expected: "BootstrapFeatureFlag",
1746
2072
  value: elem
1747
- })) && _vo3(elem, _path + ".featureFlags[" + _index17 + "]", true && _exceptionable) || _report(_exceptionable, {
1748
- path: _path + ".featureFlags[" + _index17 + "]",
2073
+ })) && _vo3(elem, _path + ".featureFlags[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
2074
+ path: _path + ".featureFlags[" + _index18 + "]",
1749
2075
  expected: "BootstrapFeatureFlag",
1750
2076
  value: elem
1751
2077
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1756,12 +2082,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1756
2082
  path: _path + ".catalog",
1757
2083
  expected: "(Array<BootstrapModule> | undefined)",
1758
2084
  value: input.catalog
1759
- })) && input.catalog.map((elem, _index18) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1760
- path: _path + ".catalog[" + _index18 + "]",
2085
+ })) && input.catalog.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2086
+ path: _path + ".catalog[" + _index19 + "]",
1761
2087
  expected: "BootstrapModule",
1762
2088
  value: elem
1763
- })) && _vo5(elem, _path + ".catalog[" + _index18 + "]", true && _exceptionable) || _report(_exceptionable, {
1764
- path: _path + ".catalog[" + _index18 + "]",
2089
+ })) && _vo8(elem, _path + ".catalog[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
2090
+ path: _path + ".catalog[" + _index19 + "]",
1765
2091
  expected: "BootstrapModule",
1766
2092
  value: elem
1767
2093
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1772,12 +2098,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1772
2098
  path: _path + ".applicationsAuthz",
1773
2099
  expected: "(Array<CreateApplicationDTO> | undefined)",
1774
2100
  value: input.applicationsAuthz
1775
- })) && input.applicationsAuthz.map((elem, _index19) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1776
- path: _path + ".applicationsAuthz[" + _index19 + "]",
2101
+ })) && input.applicationsAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2102
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
1777
2103
  expected: "CreateApplicationDTO",
1778
2104
  value: elem
1779
- })) && _vo14(elem, _path + ".applicationsAuthz[" + _index19 + "]", true && _exceptionable) || _report(_exceptionable, {
1780
- path: _path + ".applicationsAuthz[" + _index19 + "]",
2105
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
2106
+ path: _path + ".applicationsAuthz[" + _index20 + "]",
1781
2107
  expected: "CreateApplicationDTO",
1782
2108
  value: elem
1783
2109
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1788,12 +2114,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1788
2114
  path: _path + ".rolesAuthz",
1789
2115
  expected: "(Array<CreateRoleDTO> | undefined)",
1790
2116
  value: input.rolesAuthz
1791
- })) && input.rolesAuthz.map((elem, _index20) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1792
- path: _path + ".rolesAuthz[" + _index20 + "]",
2117
+ })) && input.rolesAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2118
+ path: _path + ".rolesAuthz[" + _index21 + "]",
1793
2119
  expected: "CreateRoleDTO",
1794
2120
  value: elem
1795
- })) && _vo15(elem, _path + ".rolesAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
1796
- path: _path + ".rolesAuthz[" + _index20 + "]",
2121
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
2122
+ path: _path + ".rolesAuthz[" + _index21 + "]",
1797
2123
  expected: "CreateRoleDTO",
1798
2124
  value: elem
1799
2125
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1804,12 +2130,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1804
2130
  path: _path + ".operationsAuthz",
1805
2131
  expected: "(Array<OperationAuthzBootstrap> | undefined)",
1806
2132
  value: input.operationsAuthz
1807
- })) && input.operationsAuthz.map((elem, _index21) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1808
- path: _path + ".operationsAuthz[" + _index21 + "]",
2133
+ })) && input.operationsAuthz.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2134
+ path: _path + ".operationsAuthz[" + _index22 + "]",
1809
2135
  expected: "OperationAuthzBootstrap",
1810
2136
  value: elem
1811
- })) && _vo16(elem, _path + ".operationsAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
1812
- path: _path + ".operationsAuthz[" + _index21 + "]",
2137
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
2138
+ path: _path + ".operationsAuthz[" + _index22 + "]",
1813
2139
  expected: "OperationAuthzBootstrap",
1814
2140
  value: elem
1815
2141
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1820,12 +2146,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
1820
2146
  path: _path + ".modulesConfig",
1821
2147
  expected: "(Array<UpdateModuleUIConfigDTO> | undefined)",
1822
2148
  value: input.modulesConfig
1823
- })) && input.modulesConfig.map((elem, _index22) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1824
- path: _path + ".modulesConfig[" + _index22 + "]",
2149
+ })) && input.modulesConfig.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2150
+ path: _path + ".modulesConfig[" + _index23 + "]",
1825
2151
  expected: "UpdateModuleUIConfigDTO",
1826
2152
  value: elem
1827
- })) && _vo17(elem, _path + ".modulesConfig[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
1828
- path: _path + ".modulesConfig[" + _index22 + "]",
2153
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
2154
+ path: _path + ".modulesConfig[" + _index23 + "]",
1829
2155
  expected: "UpdateModuleUIConfigDTO",
1830
2156
  value: elem
1831
2157
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1856,51 +2182,107 @@ describe('BootstrapSyncMetadata - type validations', () => {
1856
2182
  path: _path + ".description",
1857
2183
  expected: "(string | undefined)",
1858
2184
  value: input.description
1859
- }), undefined === input.enabled || "boolean" === typeof input.enabled || _report(_exceptionable, {
1860
- path: _path + ".enabled",
2185
+ }), undefined === input.visible || "boolean" === typeof input.visible || _report(_exceptionable, {
2186
+ path: _path + ".visible",
1861
2187
  expected: "(boolean | undefined)",
1862
- value: input.enabled
2188
+ value: input.visible
2189
+ }), true, undefined === input.valueRules || (Array.isArray(input.valueRules) || _report(_exceptionable, {
2190
+ path: _path + ".valueRules",
2191
+ expected: "(Array<BootstrapValueRule> | undefined)",
2192
+ value: input.valueRules
2193
+ })) && input.valueRules.map((elem, _index24) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2194
+ path: _path + ".valueRules[" + _index24 + "]",
2195
+ expected: "BootstrapValueRule",
2196
+ value: elem
2197
+ })) && _vo4(elem, _path + ".valueRules[" + _index24 + "]", true && _exceptionable) || _report(_exceptionable, {
2198
+ path: _path + ".valueRules[" + _index24 + "]",
2199
+ expected: "BootstrapValueRule",
2200
+ value: elem
2201
+ })).every(flag => flag) || _report(_exceptionable, {
2202
+ path: _path + ".valueRules",
2203
+ expected: "(Array<BootstrapValueRule> | undefined)",
2204
+ value: input.valueRules
1863
2205
  }), undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
1864
2206
  path: _path + ".applicationName",
1865
2207
  expected: "(string | undefined)",
1866
2208
  value: input.applicationName
1867
- }), undefined === input.constraints || (Array.isArray(input.constraints) || _report(_exceptionable, {
1868
- path: _path + ".constraints",
1869
- expected: "(Array<__type> | undefined)",
1870
- value: input.constraints
1871
- })) && input.constraints.map((elem, _index23) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
1872
- path: _path + ".constraints[" + _index23 + "]",
1873
- expected: "__type.o1",
1874
- value: elem
1875
- })) && _vo4(elem, _path + ".constraints[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
1876
- path: _path + ".constraints[" + _index23 + "]",
1877
- expected: "__type.o1",
1878
- value: elem
1879
- })).every(flag => flag) || _report(_exceptionable, {
1880
- path: _path + ".constraints",
1881
- expected: "(Array<__type> | undefined)",
1882
- value: input.constraints
1883
- })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => ["string" === typeof input.contextName || _report(_exceptionable, {
1884
- path: _path + ".contextName",
1885
- expected: "string",
1886
- value: input.contextName
1887
- }), "string" === typeof input.operator || _report(_exceptionable, {
2209
+ })].every(flag => flag); const _vo4 = (input, _path, _exceptionable = true) => [undefined === input.name || "string" === typeof input.name || _report(_exceptionable, {
2210
+ path: _path + ".name",
2211
+ expected: "(string | undefined)",
2212
+ value: input.name
2213
+ }), ("object" === typeof input.condition && null !== input.condition || _report(_exceptionable, {
2214
+ path: _path + ".condition",
2215
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
2216
+ value: input.condition
2217
+ })) && _vu0(input.condition, _path + ".condition", true && _exceptionable) || _report(_exceptionable, {
2218
+ path: _path + ".condition",
2219
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
2220
+ value: input.condition
2221
+ }), true, undefined === input.rollout || ("object" === typeof input.rollout && null !== input.rollout || _report(_exceptionable, {
2222
+ path: _path + ".rollout",
2223
+ expected: "(__type.o1 | undefined)",
2224
+ value: input.rollout
2225
+ })) && _vo7(input.rollout, _path + ".rollout", true && _exceptionable) || _report(_exceptionable, {
2226
+ path: _path + ".rollout",
2227
+ expected: "(__type.o1 | undefined)",
2228
+ value: input.rollout
2229
+ })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.attribute || _report(_exceptionable, {
2230
+ path: _path + ".attribute",
2231
+ expected: "string",
2232
+ value: input.attribute
2233
+ }), "eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator || _report(_exceptionable, {
1888
2234
  path: _path + ".operator",
1889
- expected: "string",
2235
+ expected: "(\"eq\" | \"in\" | \"neq\" | \"nin\")",
1890
2236
  value: input.operator
1891
- }), undefined === input.values || (Array.isArray(input.values) || _report(_exceptionable, {
1892
- path: _path + ".values",
1893
- expected: "(Array<string> | undefined)",
1894
- value: input.values
1895
- })) && input.values.map((elem, _index24) => "string" === typeof elem || _report(_exceptionable, {
1896
- path: _path + ".values[" + _index24 + "]",
2237
+ }), (null !== input.value || _report(_exceptionable, {
2238
+ path: _path + ".value",
2239
+ expected: "(Array<string> | boolean | number | string)",
2240
+ value: input.value
2241
+ })) && (undefined !== input.value || _report(_exceptionable, {
2242
+ path: _path + ".value",
2243
+ expected: "(Array<string> | boolean | number | string)",
2244
+ value: input.value
2245
+ })) && ("string" === typeof input.value || "number" === typeof input.value || "boolean" === typeof input.value || (Array.isArray(input.value) || _report(_exceptionable, {
2246
+ path: _path + ".value",
2247
+ expected: "(Array<string> | boolean | number | string)",
2248
+ value: input.value
2249
+ })) && input.value.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
2250
+ path: _path + ".value[" + _index25 + "]",
1897
2251
  expected: "string",
1898
2252
  value: elem
1899
2253
  })).every(flag => flag) || _report(_exceptionable, {
1900
- path: _path + ".values",
1901
- expected: "(Array<string> | undefined)",
1902
- value: input.values
1903
- })].every(flag => flag); const _vo5 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
2254
+ path: _path + ".value",
2255
+ expected: "(Array<string> | boolean | number | string)",
2256
+ value: input.value
2257
+ }))].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["AND" === input.operator || "OR" === input.operator || _report(_exceptionable, {
2258
+ path: _path + ".operator",
2259
+ expected: "(\"AND\" | \"OR\")",
2260
+ value: input.operator
2261
+ }), (Array.isArray(input.rules) || _report(_exceptionable, {
2262
+ path: _path + ".rules",
2263
+ expected: "Array<BootstrapCondition>",
2264
+ value: input.rules
2265
+ })) && input.rules.map((elem, _index26) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2266
+ path: _path + ".rules[" + _index26 + "]",
2267
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
2268
+ value: elem
2269
+ })) && _vu0(elem, _path + ".rules[" + _index26 + "]", true && _exceptionable) || _report(_exceptionable, {
2270
+ path: _path + ".rules[" + _index26 + "]",
2271
+ expected: "(BootstrapCompositeCondition | BootstrapLeafCondition)",
2272
+ value: elem
2273
+ })).every(flag => flag) || _report(_exceptionable, {
2274
+ path: _path + ".rules",
2275
+ expected: "Array<BootstrapCondition>",
2276
+ value: input.rules
2277
+ })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => ["number" === typeof input.percentage || _report(_exceptionable, {
2278
+ path: _path + ".percentage",
2279
+ expected: "number",
2280
+ value: input.percentage
2281
+ }), "string" === typeof input.attribute || _report(_exceptionable, {
2282
+ path: _path + ".attribute",
2283
+ expected: "string",
2284
+ value: input.attribute
2285
+ })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
1904
2286
  path: _path + ".name",
1905
2287
  expected: "string",
1906
2288
  value: input.name
@@ -1920,7 +2302,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1920
2302
  path: _path + ".service",
1921
2303
  expected: "ServiceConfig",
1922
2304
  value: input.service
1923
- })) && _vo6(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
2305
+ })) && _vo9(input.service, _path + ".service", true && _exceptionable) || _report(_exceptionable, {
1924
2306
  path: _path + ".service",
1925
2307
  expected: "ServiceConfig",
1926
2308
  value: input.service
@@ -1928,8 +2310,8 @@ describe('BootstrapSyncMetadata - type validations', () => {
1928
2310
  path: _path + ".dependsOn",
1929
2311
  expected: "Array<string>",
1930
2312
  value: input.dependsOn
1931
- })) && input.dependsOn.map((elem, _index25) => "string" === typeof elem || _report(_exceptionable, {
1932
- path: _path + ".dependsOn[" + _index25 + "]",
2313
+ })) && input.dependsOn.map((elem, _index27) => "string" === typeof elem || _report(_exceptionable, {
2314
+ path: _path + ".dependsOn[" + _index27 + "]",
1933
2315
  expected: "string",
1934
2316
  value: elem
1935
2317
  })).every(flag => flag) || _report(_exceptionable, {
@@ -1940,7 +2322,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1940
2322
  path: _path + ".commonPaths",
1941
2323
  expected: "(CommonPathsMetadata | undefined)",
1942
2324
  value: input.commonPaths
1943
- })) && _vo7(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
2325
+ })) && _vo10(input.commonPaths, _path + ".commonPaths", true && _exceptionable) || _report(_exceptionable, {
1944
2326
  path: _path + ".commonPaths",
1945
2327
  expected: "(CommonPathsMetadata | undefined)",
1946
2328
  value: input.commonPaths
@@ -1948,7 +2330,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1948
2330
  path: _path + ".ui",
1949
2331
  expected: "(UIConfig | undefined)",
1950
2332
  value: input.ui
1951
- })) && _vo8(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
2333
+ })) && _vo11(input.ui, _path + ".ui", true && _exceptionable) || _report(_exceptionable, {
1952
2334
  path: _path + ".ui",
1953
2335
  expected: "(UIConfig | undefined)",
1954
2336
  value: input.ui
@@ -1956,7 +2338,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1956
2338
  path: _path + ".cloudFunction",
1957
2339
  expected: "(CloudFunctionConfig | undefined)",
1958
2340
  value: input.cloudFunction
1959
- })) && _vo10(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
2341
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1960
2342
  path: _path + ".cloudFunction",
1961
2343
  expected: "(CloudFunctionConfig | undefined)",
1962
2344
  value: input.cloudFunction
@@ -1964,7 +2346,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1964
2346
  path: _path + ".authorization",
1965
2347
  expected: "(AuthorizationMetadata | undefined)",
1966
2348
  value: input.authorization
1967
- })) && _vo11(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
2349
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1968
2350
  path: _path + ".authorization",
1969
2351
  expected: "(AuthorizationMetadata | undefined)",
1970
2352
  value: input.authorization
@@ -1988,11 +2370,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
1988
2370
  path: _path + ".serviceLocal",
1989
2371
  expected: "(Partial<ServiceConfig> | undefined)",
1990
2372
  value: input.serviceLocal
1991
- })) && _vo13(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
2373
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1992
2374
  path: _path + ".serviceLocal",
1993
2375
  expected: "(Partial<ServiceConfig> | undefined)",
1994
2376
  value: input.serviceLocal
1995
- })].every(flag => flag); const _vo6 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
2377
+ })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => ["string" === typeof input.host || _report(_exceptionable, {
1996
2378
  path: _path + ".host",
1997
2379
  expected: "string",
1998
2380
  value: input.host
@@ -2008,7 +2390,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2008
2390
  path: _path + ".includeBaseURL",
2009
2391
  expected: "(boolean | undefined)",
2010
2392
  value: input.includeBaseURL
2011
- })].every(flag => flag); const _vo7 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
2393
+ })].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => [undefined === input.apiDocs || "string" === typeof input.apiDocs || _report(_exceptionable, {
2012
2394
  path: _path + ".apiDocs",
2013
2395
  expected: "(string | undefined)",
2014
2396
  value: input.apiDocs
@@ -2024,7 +2406,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2024
2406
  path: _path + ".changelog",
2025
2407
  expected: "(string | undefined)",
2026
2408
  value: input.changelog
2027
- })].every(flag => flag); const _vo8 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
2409
+ })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => ["string" === typeof input.route || _report(_exceptionable, {
2028
2410
  path: _path + ".route",
2029
2411
  expected: "string",
2030
2412
  value: input.route
@@ -2040,7 +2422,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2040
2422
  path: _path + ".customProps",
2041
2423
  expected: "ModuleProps",
2042
2424
  value: input.customProps
2043
- })) && _vo9(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
2425
+ })) && _vo12(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
2044
2426
  path: _path + ".customProps",
2045
2427
  expected: "ModuleProps",
2046
2428
  value: input.customProps
@@ -2052,12 +2434,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
2052
2434
  path: _path + ".isPlatformCustomization",
2053
2435
  expected: "(boolean | undefined)",
2054
2436
  value: input.isPlatformCustomization
2055
- })].every(flag => flag); const _vo9 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2437
+ })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.tenantOverrides || ("object" === typeof input.tenantOverrides && null !== input.tenantOverrides && false === Array.isArray(input.tenantOverrides) || _report(_exceptionable, {
2438
+ path: _path + ".tenantOverrides",
2439
+ expected: "(Record<string, Record<string, any>> | undefined)",
2440
+ value: input.tenantOverrides
2441
+ })) && _vo13(input.tenantOverrides, _path + ".tenantOverrides", true && _exceptionable) || _report(_exceptionable, {
2442
+ path: _path + ".tenantOverrides",
2443
+ expected: "(Record<string, Record<string, any>> | undefined)",
2444
+ value: input.tenantOverrides
2445
+ }), false === _exceptionable || Object.keys(input).map(key => {
2446
+ if (["tenantOverrides"].some(prop => key === prop))
2447
+ return true;
2056
2448
  const value = input[key];
2057
2449
  if (undefined === value)
2058
2450
  return true;
2059
2451
  return true;
2060
- }).every(flag => flag)].every(flag => flag); const _vo10 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
2452
+ }).every(flag => flag)].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2453
+ const value = input[key];
2454
+ if (undefined === value)
2455
+ return true;
2456
+ return ("object" === typeof value && null !== value && false === Array.isArray(value) || _report(_exceptionable, {
2457
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2458
+ expected: "Record<string, any>",
2459
+ value: value
2460
+ })) && _vo14(value, _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key), true && _exceptionable) || _report(_exceptionable, {
2461
+ path: _path + __typia_transform__accessExpressionAsString._accessExpressionAsString(key),
2462
+ expected: "Record<string, any>",
2463
+ value: value
2464
+ });
2465
+ }).every(flag => flag)].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2466
+ const value = input[key];
2467
+ if (undefined === value)
2468
+ return true;
2469
+ return true;
2470
+ }).every(flag => flag)].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => ["aws" === input.provider || _report(_exceptionable, {
2061
2471
  path: _path + ".provider",
2062
2472
  expected: "\"aws\"",
2063
2473
  value: input.provider
@@ -2065,12 +2475,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
2065
2475
  path: _path + ".requiresSignature",
2066
2476
  expected: "boolean",
2067
2477
  value: input.requiresSignature
2068
- })].every(flag => flag); const _vo11 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
2478
+ })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.operations || (Array.isArray(input.operations) || _report(_exceptionable, {
2069
2479
  path: _path + ".operations",
2070
2480
  expected: "(Array<string> | undefined)",
2071
2481
  value: input.operations
2072
- })) && input.operations.map((elem, _index26) => "string" === typeof elem || _report(_exceptionable, {
2073
- path: _path + ".operations[" + _index26 + "]",
2482
+ })) && input.operations.map((elem, _index28) => "string" === typeof elem || _report(_exceptionable, {
2483
+ path: _path + ".operations[" + _index28 + "]",
2074
2484
  expected: "string",
2075
2485
  value: elem
2076
2486
  })).every(flag => flag) || _report(_exceptionable, {
@@ -2081,24 +2491,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
2081
2491
  path: _path + ".routes",
2082
2492
  expected: "(Array<RouteAuthorization> | undefined)",
2083
2493
  value: input.routes
2084
- })) && input.routes.map((elem, _index27) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2085
- path: _path + ".routes[" + _index27 + "]",
2494
+ })) && input.routes.map((elem, _index29) => ("object" === typeof elem && null !== elem || _report(_exceptionable, {
2495
+ path: _path + ".routes[" + _index29 + "]",
2086
2496
  expected: "RouteAuthorization",
2087
2497
  value: elem
2088
- })) && _vo12(elem, _path + ".routes[" + _index27 + "]", true && _exceptionable) || _report(_exceptionable, {
2089
- path: _path + ".routes[" + _index27 + "]",
2498
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
2499
+ path: _path + ".routes[" + _index29 + "]",
2090
2500
  expected: "RouteAuthorization",
2091
2501
  value: elem
2092
2502
  })).every(flag => flag) || _report(_exceptionable, {
2093
2503
  path: _path + ".routes",
2094
2504
  expected: "(Array<RouteAuthorization> | undefined)",
2095
2505
  value: input.routes
2096
- })].every(flag => flag); const _vo12 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
2506
+ })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => [undefined === input.methods || (Array.isArray(input.methods) || _report(_exceptionable, {
2097
2507
  path: _path + ".methods",
2098
2508
  expected: "(Array<HttpMethod> | undefined)",
2099
2509
  value: input.methods
2100
- })) && input.methods.map((elem, _index28) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
2101
- path: _path + ".methods[" + _index28 + "]",
2510
+ })) && input.methods.map((elem, _index30) => "POST" === elem || "DELETE" === elem || "GET" === elem || "HEAD" === elem || "OPTIONS" === elem || "PUT" === elem || "PATCH" === elem || "CONNECT" === elem || "TRACE" === elem || _report(_exceptionable, {
2511
+ path: _path + ".methods[" + _index30 + "]",
2102
2512
  expected: "(\"CONNECT\" | \"DELETE\" | \"GET\" | \"HEAD\" | \"OPTIONS\" | \"PATCH\" | \"POST\" | \"PUT\" | \"TRACE\")",
2103
2513
  value: elem
2104
2514
  })).every(flag => flag) || _report(_exceptionable, {
@@ -2113,15 +2523,15 @@ describe('BootstrapSyncMetadata - type validations', () => {
2113
2523
  path: _path + ".operations",
2114
2524
  expected: "Array<string>",
2115
2525
  value: input.operations
2116
- })) && input.operations.map((elem, _index29) => "string" === typeof elem || _report(_exceptionable, {
2117
- path: _path + ".operations[" + _index29 + "]",
2526
+ })) && input.operations.map((elem, _index31) => "string" === typeof elem || _report(_exceptionable, {
2527
+ path: _path + ".operations[" + _index31 + "]",
2118
2528
  expected: "string",
2119
2529
  value: elem
2120
2530
  })).every(flag => flag) || _report(_exceptionable, {
2121
2531
  path: _path + ".operations",
2122
2532
  expected: "Array<string>",
2123
2533
  value: input.operations
2124
- })].every(flag => flag); const _vo13 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
2534
+ })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [undefined === input.host || "string" === typeof input.host || _report(_exceptionable, {
2125
2535
  path: _path + ".host",
2126
2536
  expected: "(string | undefined)",
2127
2537
  value: input.host
@@ -2137,7 +2547,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2137
2547
  path: _path + ".includeBaseURL",
2138
2548
  expected: "(boolean | undefined)",
2139
2549
  value: input.includeBaseURL
2140
- })].every(flag => flag); const _vo14 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
2550
+ })].every(flag => flag); const _vo19 = (input, _path, _exceptionable = true) => ["string" === typeof input.name || _report(_exceptionable, {
2141
2551
  path: _path + ".name",
2142
2552
  expected: "string",
2143
2553
  value: input.name
@@ -2153,7 +2563,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2153
2563
  path: _path + ".allowedByDefault",
2154
2564
  expected: "(boolean | undefined)",
2155
2565
  value: input.allowedByDefault
2156
- })].every(flag => flag); const _vo15 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
2566
+ })].every(flag => flag); const _vo20 = (input, _path, _exceptionable = true) => [undefined === input.applicationName || "string" === typeof input.applicationName || _report(_exceptionable, {
2157
2567
  path: _path + ".applicationName",
2158
2568
  expected: "(string | undefined)",
2159
2569
  value: input.applicationName
@@ -2165,12 +2575,12 @@ describe('BootstrapSyncMetadata - type validations', () => {
2165
2575
  path: _path + ".description",
2166
2576
  expected: "(string | undefined)",
2167
2577
  value: input.description
2168
- })].every(flag => flag); const _vo16 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
2578
+ })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [undefined === input.roles || (Array.isArray(input.roles) || _report(_exceptionable, {
2169
2579
  path: _path + ".roles",
2170
2580
  expected: "(Array<string> | undefined)",
2171
2581
  value: input.roles
2172
- })) && input.roles.map((elem, _index30) => "string" === typeof elem || _report(_exceptionable, {
2173
- path: _path + ".roles[" + _index30 + "]",
2582
+ })) && input.roles.map((elem, _index32) => "string" === typeof elem || _report(_exceptionable, {
2583
+ path: _path + ".roles[" + _index32 + "]",
2174
2584
  expected: "string",
2175
2585
  value: elem
2176
2586
  })).every(flag => flag) || _report(_exceptionable, {
@@ -2189,7 +2599,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2189
2599
  path: _path + ".applicationName",
2190
2600
  expected: "(string | undefined)",
2191
2601
  value: input.applicationName
2192
- })].every(flag => flag); const _vo17 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
2602
+ })].every(flag => flag); const _vo22 = (input, _path, _exceptionable = true) => ["string" === typeof input.moduleName || _report(_exceptionable, {
2193
2603
  path: _path + ".moduleName",
2194
2604
  expected: "string",
2195
2605
  value: input.moduleName
@@ -2197,16 +2607,22 @@ describe('BootstrapSyncMetadata - type validations', () => {
2197
2607
  path: _path + ".customProps",
2198
2608
  expected: "Record<string, any>",
2199
2609
  value: input.customProps
2200
- })) && _vo18(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
2610
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
2201
2611
  path: _path + ".customProps",
2202
2612
  expected: "Record<string, any>",
2203
2613
  value: input.customProps
2204
- })].every(flag => flag); const _vo18 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2205
- const value = input[key];
2206
- if (undefined === value)
2207
- return true;
2208
- return true;
2209
- }).every(flag => flag)].every(flag => flag); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
2614
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
2615
+ if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
2616
+ return _vo5(input, _path, true && _exceptionable);
2617
+ else if ("AND" === input.operator || "OR" === input.operator)
2618
+ return _vo6(input, _path, true && _exceptionable);
2619
+ else
2620
+ return _report(_exceptionable, {
2621
+ path: _path,
2622
+ expected: "(BootstrapLeafCondition | BootstrapCompositeCondition)",
2623
+ value: input
2624
+ });
2625
+ })(); const __is = input => "object" === typeof input && null !== input && _io0(input); let errors; let _report; return input => {
2210
2626
  if (false === __is(input)) {
2211
2627
  errors = [];
2212
2628
  _report = __typia_transform__validateReport._validateReport(errors);