@bluealba/pae-bootstrap-lib 3.0.0-feature-new-feature-flags-model-147 → 3.1.0-develop-179

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,24 @@ 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 && _io8(elem))) && (undefined === input.applicationsAuthz || Array.isArray(input.applicationsAuthz) && input.applicationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io17(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io18(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io20(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 && _io13(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io14(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) && _io16(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 => 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 _io13 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io14 = 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 && _io15(elem))); const _io15 = 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 _io16 = 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 _io17 = 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 _io18 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io19 = 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 _io20 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io21(input.customProps)); const _io21 = 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 _iu0 = input => (() => {
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 => (() => {
60
67
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
61
68
  return _io5(input);
62
69
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -127,7 +134,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
127
134
  path: _path + ".applicationsAuthz[" + _index20 + "]",
128
135
  expected: "CreateApplicationDTO",
129
136
  value: elem
130
- })) && _vo17(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
137
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
131
138
  path: _path + ".applicationsAuthz[" + _index20 + "]",
132
139
  expected: "CreateApplicationDTO",
133
140
  value: elem
@@ -143,7 +150,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
143
150
  path: _path + ".rolesAuthz[" + _index21 + "]",
144
151
  expected: "CreateRoleDTO",
145
152
  value: elem
146
- })) && _vo18(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
153
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
147
154
  path: _path + ".rolesAuthz[" + _index21 + "]",
148
155
  expected: "CreateRoleDTO",
149
156
  value: elem
@@ -159,7 +166,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
159
166
  path: _path + ".operationsAuthz[" + _index22 + "]",
160
167
  expected: "OperationAuthzBootstrap",
161
168
  value: elem
162
- })) && _vo19(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
169
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
163
170
  path: _path + ".operationsAuthz[" + _index22 + "]",
164
171
  expected: "OperationAuthzBootstrap",
165
172
  value: elem
@@ -175,7 +182,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
175
182
  path: _path + ".modulesConfig[" + _index23 + "]",
176
183
  expected: "UpdateModuleUIConfigDTO",
177
184
  value: elem
178
- })) && _vo20(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
185
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
179
186
  path: _path + ".modulesConfig[" + _index23 + "]",
180
187
  expected: "UpdateModuleUIConfigDTO",
181
188
  value: elem
@@ -363,7 +370,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
363
370
  path: _path + ".cloudFunction",
364
371
  expected: "(CloudFunctionConfig | undefined)",
365
372
  value: input.cloudFunction
366
- })) && _vo13(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
373
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
367
374
  path: _path + ".cloudFunction",
368
375
  expected: "(CloudFunctionConfig | undefined)",
369
376
  value: input.cloudFunction
@@ -371,7 +378,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
371
378
  path: _path + ".authorization",
372
379
  expected: "(AuthorizationMetadata | undefined)",
373
380
  value: input.authorization
374
- })) && _vo14(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
381
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
375
382
  path: _path + ".authorization",
376
383
  expected: "(AuthorizationMetadata | undefined)",
377
384
  value: input.authorization
@@ -395,7 +402,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
395
402
  path: _path + ".serviceLocal",
396
403
  expected: "(Partial<ServiceConfig> | undefined)",
397
404
  value: input.serviceLocal
398
- })) && _vo16(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
405
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
399
406
  path: _path + ".serviceLocal",
400
407
  expected: "(Partial<ServiceConfig> | undefined)",
401
408
  value: input.serviceLocal
@@ -459,12 +466,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
459
466
  path: _path + ".isPlatformCustomization",
460
467
  expected: "(boolean | undefined)",
461
468
  value: input.isPlatformCustomization
462
- })].every(flag => flag); const _vo12 = (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;
463
480
  const value = input[key];
464
481
  if (undefined === value)
465
482
  return true;
466
483
  return true;
467
- }).every(flag => flag)].every(flag => flag); const _vo13 = (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, {
468
503
  path: _path + ".provider",
469
504
  expected: "\"aws\"",
470
505
  value: input.provider
@@ -472,7 +507,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
472
507
  path: _path + ".requiresSignature",
473
508
  expected: "boolean",
474
509
  value: input.requiresSignature
475
- })].every(flag => flag); const _vo14 = (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, {
476
511
  path: _path + ".operations",
477
512
  expected: "(Array<string> | undefined)",
478
513
  value: input.operations
@@ -492,7 +527,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
492
527
  path: _path + ".routes[" + _index29 + "]",
493
528
  expected: "RouteAuthorization",
494
529
  value: elem
495
- })) && _vo15(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
530
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
496
531
  path: _path + ".routes[" + _index29 + "]",
497
532
  expected: "RouteAuthorization",
498
533
  value: elem
@@ -500,7 +535,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
500
535
  path: _path + ".routes",
501
536
  expected: "(Array<RouteAuthorization> | undefined)",
502
537
  value: input.routes
503
- })].every(flag => flag); const _vo15 = (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, {
504
539
  path: _path + ".methods",
505
540
  expected: "(Array<HttpMethod> | undefined)",
506
541
  value: input.methods
@@ -528,7 +563,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
528
563
  path: _path + ".operations",
529
564
  expected: "Array<string>",
530
565
  value: input.operations
531
- })].every(flag => flag); const _vo16 = (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, {
532
567
  path: _path + ".host",
533
568
  expected: "(string | undefined)",
534
569
  value: input.host
@@ -544,7 +579,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
544
579
  path: _path + ".includeBaseURL",
545
580
  expected: "(boolean | undefined)",
546
581
  value: input.includeBaseURL
547
- })].every(flag => flag); const _vo17 = (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, {
548
583
  path: _path + ".name",
549
584
  expected: "string",
550
585
  value: input.name
@@ -560,7 +595,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
560
595
  path: _path + ".allowedByDefault",
561
596
  expected: "(boolean | undefined)",
562
597
  value: input.allowedByDefault
563
- })].every(flag => flag); const _vo18 = (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, {
564
599
  path: _path + ".applicationName",
565
600
  expected: "(string | undefined)",
566
601
  value: input.applicationName
@@ -572,7 +607,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
572
607
  path: _path + ".description",
573
608
  expected: "(string | undefined)",
574
609
  value: input.description
575
- })].every(flag => flag); const _vo19 = (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, {
576
611
  path: _path + ".roles",
577
612
  expected: "(Array<string> | undefined)",
578
613
  value: input.roles
@@ -596,7 +631,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
596
631
  path: _path + ".applicationName",
597
632
  expected: "(string | undefined)",
598
633
  value: input.applicationName
599
- })].every(flag => flag); const _vo20 = (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, {
600
635
  path: _path + ".moduleName",
601
636
  expected: "string",
602
637
  value: input.moduleName
@@ -604,16 +639,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
604
639
  path: _path + ".customProps",
605
640
  expected: "Record<string, any>",
606
641
  value: input.customProps
607
- })) && _vo21(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
642
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
608
643
  path: _path + ".customProps",
609
644
  expected: "Record<string, any>",
610
645
  value: input.customProps
611
- })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
612
- const value = input[key];
613
- if (undefined === value)
614
- return true;
615
- return true;
616
- }).every(flag => flag)].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
646
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
617
647
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
618
648
  return _vo5(input, _path, true && _exceptionable);
619
649
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -658,17 +688,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
658
688
  const invalidObject = {
659
689
  invalidField: 'invalidValue',
660
690
  };
661
- 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 && _io17(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io18(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io20(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 && _io13(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io14(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) && _io16(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 => 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;
662
694
  const value = input[key];
663
695
  if (undefined === value)
664
696
  return true;
665
697
  return true;
666
- }); const _io13 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io14 = 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 && _io15(elem))); const _io15 = 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 _io16 = 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 _io17 = 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 _io18 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io19 = 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 _io20 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io21(input.customProps)); const _io21 = 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 => {
667
704
  const value = input[key];
668
705
  if (undefined === value)
669
706
  return true;
670
707
  return true;
671
- }); const _iu0 = input => (() => {
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 => (() => {
672
709
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
673
710
  return _io5(input);
674
711
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -739,7 +776,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
739
776
  path: _path + ".applicationsAuthz[" + _index20 + "]",
740
777
  expected: "CreateApplicationDTO",
741
778
  value: elem
742
- })) && _vo17(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
779
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
743
780
  path: _path + ".applicationsAuthz[" + _index20 + "]",
744
781
  expected: "CreateApplicationDTO",
745
782
  value: elem
@@ -755,7 +792,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
755
792
  path: _path + ".rolesAuthz[" + _index21 + "]",
756
793
  expected: "CreateRoleDTO",
757
794
  value: elem
758
- })) && _vo18(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
795
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
759
796
  path: _path + ".rolesAuthz[" + _index21 + "]",
760
797
  expected: "CreateRoleDTO",
761
798
  value: elem
@@ -771,7 +808,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
771
808
  path: _path + ".operationsAuthz[" + _index22 + "]",
772
809
  expected: "OperationAuthzBootstrap",
773
810
  value: elem
774
- })) && _vo19(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
811
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
775
812
  path: _path + ".operationsAuthz[" + _index22 + "]",
776
813
  expected: "OperationAuthzBootstrap",
777
814
  value: elem
@@ -787,7 +824,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
787
824
  path: _path + ".modulesConfig[" + _index23 + "]",
788
825
  expected: "UpdateModuleUIConfigDTO",
789
826
  value: elem
790
- })) && _vo20(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
827
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
791
828
  path: _path + ".modulesConfig[" + _index23 + "]",
792
829
  expected: "UpdateModuleUIConfigDTO",
793
830
  value: elem
@@ -975,7 +1012,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
975
1012
  path: _path + ".cloudFunction",
976
1013
  expected: "(CloudFunctionConfig | undefined)",
977
1014
  value: input.cloudFunction
978
- })) && _vo13(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1015
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
979
1016
  path: _path + ".cloudFunction",
980
1017
  expected: "(CloudFunctionConfig | undefined)",
981
1018
  value: input.cloudFunction
@@ -983,7 +1020,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
983
1020
  path: _path + ".authorization",
984
1021
  expected: "(AuthorizationMetadata | undefined)",
985
1022
  value: input.authorization
986
- })) && _vo14(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1023
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
987
1024
  path: _path + ".authorization",
988
1025
  expected: "(AuthorizationMetadata | undefined)",
989
1026
  value: input.authorization
@@ -1007,7 +1044,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1007
1044
  path: _path + ".serviceLocal",
1008
1045
  expected: "(Partial<ServiceConfig> | undefined)",
1009
1046
  value: input.serviceLocal
1010
- })) && _vo16(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1047
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1011
1048
  path: _path + ".serviceLocal",
1012
1049
  expected: "(Partial<ServiceConfig> | undefined)",
1013
1050
  value: input.serviceLocal
@@ -1071,12 +1108,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
1071
1108
  path: _path + ".isPlatformCustomization",
1072
1109
  expected: "(boolean | undefined)",
1073
1110
  value: input.isPlatformCustomization
1074
- })].every(flag => flag); const _vo12 = (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;
1075
1122
  const value = input[key];
1076
1123
  if (undefined === value)
1077
1124
  return true;
1078
1125
  return true;
1079
- }).every(flag => flag)].every(flag => flag); const _vo13 = (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, {
1080
1145
  path: _path + ".provider",
1081
1146
  expected: "\"aws\"",
1082
1147
  value: input.provider
@@ -1084,7 +1149,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1084
1149
  path: _path + ".requiresSignature",
1085
1150
  expected: "boolean",
1086
1151
  value: input.requiresSignature
1087
- })].every(flag => flag); const _vo14 = (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, {
1088
1153
  path: _path + ".operations",
1089
1154
  expected: "(Array<string> | undefined)",
1090
1155
  value: input.operations
@@ -1104,7 +1169,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1104
1169
  path: _path + ".routes[" + _index29 + "]",
1105
1170
  expected: "RouteAuthorization",
1106
1171
  value: elem
1107
- })) && _vo15(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
1172
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
1108
1173
  path: _path + ".routes[" + _index29 + "]",
1109
1174
  expected: "RouteAuthorization",
1110
1175
  value: elem
@@ -1112,7 +1177,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1112
1177
  path: _path + ".routes",
1113
1178
  expected: "(Array<RouteAuthorization> | undefined)",
1114
1179
  value: input.routes
1115
- })].every(flag => flag); const _vo15 = (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, {
1116
1181
  path: _path + ".methods",
1117
1182
  expected: "(Array<HttpMethod> | undefined)",
1118
1183
  value: input.methods
@@ -1140,7 +1205,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1140
1205
  path: _path + ".operations",
1141
1206
  expected: "Array<string>",
1142
1207
  value: input.operations
1143
- })].every(flag => flag); const _vo16 = (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, {
1144
1209
  path: _path + ".host",
1145
1210
  expected: "(string | undefined)",
1146
1211
  value: input.host
@@ -1156,7 +1221,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1156
1221
  path: _path + ".includeBaseURL",
1157
1222
  expected: "(boolean | undefined)",
1158
1223
  value: input.includeBaseURL
1159
- })].every(flag => flag); const _vo17 = (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, {
1160
1225
  path: _path + ".name",
1161
1226
  expected: "string",
1162
1227
  value: input.name
@@ -1172,7 +1237,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1172
1237
  path: _path + ".allowedByDefault",
1173
1238
  expected: "(boolean | undefined)",
1174
1239
  value: input.allowedByDefault
1175
- })].every(flag => flag); const _vo18 = (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, {
1176
1241
  path: _path + ".applicationName",
1177
1242
  expected: "(string | undefined)",
1178
1243
  value: input.applicationName
@@ -1184,7 +1249,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1184
1249
  path: _path + ".description",
1185
1250
  expected: "(string | undefined)",
1186
1251
  value: input.description
1187
- })].every(flag => flag); const _vo19 = (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, {
1188
1253
  path: _path + ".roles",
1189
1254
  expected: "(Array<string> | undefined)",
1190
1255
  value: input.roles
@@ -1208,7 +1273,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1208
1273
  path: _path + ".applicationName",
1209
1274
  expected: "(string | undefined)",
1210
1275
  value: input.applicationName
1211
- })].every(flag => flag); const _vo20 = (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, {
1212
1277
  path: _path + ".moduleName",
1213
1278
  expected: "string",
1214
1279
  value: input.moduleName
@@ -1216,16 +1281,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
1216
1281
  path: _path + ".customProps",
1217
1282
  expected: "Record<string, any>",
1218
1283
  value: input.customProps
1219
- })) && _vo21(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1284
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1220
1285
  path: _path + ".customProps",
1221
1286
  expected: "Record<string, any>",
1222
1287
  value: input.customProps
1223
- })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1224
- const value = input[key];
1225
- if (undefined === value)
1226
- return true;
1227
- return true;
1228
- }).every(flag => flag)].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1288
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1229
1289
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1230
1290
  return _vo5(input, _path, true && _exceptionable);
1231
1291
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -1291,17 +1351,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
1291
1351
  scopedTo: "any"
1292
1352
  },
1293
1353
  };
1294
- 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 && _io17(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io18(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io20(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 && _io13(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io14(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) && _io16(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 => 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;
1295
1357
  const value = input[key];
1296
1358
  if (undefined === value)
1297
1359
  return true;
1298
1360
  return true;
1299
- }); const _io13 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io14 = 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 && _io15(elem))); const _io15 = 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 _io16 = 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 _io17 = 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 _io18 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io19 = 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 _io20 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io21(input.customProps)); const _io21 = 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 => {
1300
1367
  const value = input[key];
1301
1368
  if (undefined === value)
1302
1369
  return true;
1303
1370
  return true;
1304
- }); const _iu0 = input => (() => {
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 => (() => {
1305
1372
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1306
1373
  return _io5(input);
1307
1374
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -1372,7 +1439,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1372
1439
  path: _path + ".applicationsAuthz[" + _index20 + "]",
1373
1440
  expected: "CreateApplicationDTO",
1374
1441
  value: elem
1375
- })) && _vo17(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
1442
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
1376
1443
  path: _path + ".applicationsAuthz[" + _index20 + "]",
1377
1444
  expected: "CreateApplicationDTO",
1378
1445
  value: elem
@@ -1388,7 +1455,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1388
1455
  path: _path + ".rolesAuthz[" + _index21 + "]",
1389
1456
  expected: "CreateRoleDTO",
1390
1457
  value: elem
1391
- })) && _vo18(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
1458
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
1392
1459
  path: _path + ".rolesAuthz[" + _index21 + "]",
1393
1460
  expected: "CreateRoleDTO",
1394
1461
  value: elem
@@ -1404,7 +1471,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1404
1471
  path: _path + ".operationsAuthz[" + _index22 + "]",
1405
1472
  expected: "OperationAuthzBootstrap",
1406
1473
  value: elem
1407
- })) && _vo19(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
1474
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
1408
1475
  path: _path + ".operationsAuthz[" + _index22 + "]",
1409
1476
  expected: "OperationAuthzBootstrap",
1410
1477
  value: elem
@@ -1420,7 +1487,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1420
1487
  path: _path + ".modulesConfig[" + _index23 + "]",
1421
1488
  expected: "UpdateModuleUIConfigDTO",
1422
1489
  value: elem
1423
- })) && _vo20(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
1490
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
1424
1491
  path: _path + ".modulesConfig[" + _index23 + "]",
1425
1492
  expected: "UpdateModuleUIConfigDTO",
1426
1493
  value: elem
@@ -1608,7 +1675,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1608
1675
  path: _path + ".cloudFunction",
1609
1676
  expected: "(CloudFunctionConfig | undefined)",
1610
1677
  value: input.cloudFunction
1611
- })) && _vo13(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1678
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
1612
1679
  path: _path + ".cloudFunction",
1613
1680
  expected: "(CloudFunctionConfig | undefined)",
1614
1681
  value: input.cloudFunction
@@ -1616,7 +1683,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1616
1683
  path: _path + ".authorization",
1617
1684
  expected: "(AuthorizationMetadata | undefined)",
1618
1685
  value: input.authorization
1619
- })) && _vo14(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1686
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
1620
1687
  path: _path + ".authorization",
1621
1688
  expected: "(AuthorizationMetadata | undefined)",
1622
1689
  value: input.authorization
@@ -1640,7 +1707,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1640
1707
  path: _path + ".serviceLocal",
1641
1708
  expected: "(Partial<ServiceConfig> | undefined)",
1642
1709
  value: input.serviceLocal
1643
- })) && _vo16(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1710
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
1644
1711
  path: _path + ".serviceLocal",
1645
1712
  expected: "(Partial<ServiceConfig> | undefined)",
1646
1713
  value: input.serviceLocal
@@ -1704,12 +1771,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
1704
1771
  path: _path + ".isPlatformCustomization",
1705
1772
  expected: "(boolean | undefined)",
1706
1773
  value: input.isPlatformCustomization
1707
- })].every(flag => flag); const _vo12 = (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;
1708
1785
  const value = input[key];
1709
1786
  if (undefined === value)
1710
1787
  return true;
1711
1788
  return true;
1712
- }).every(flag => flag)].every(flag => flag); const _vo13 = (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, {
1713
1808
  path: _path + ".provider",
1714
1809
  expected: "\"aws\"",
1715
1810
  value: input.provider
@@ -1717,7 +1812,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1717
1812
  path: _path + ".requiresSignature",
1718
1813
  expected: "boolean",
1719
1814
  value: input.requiresSignature
1720
- })].every(flag => flag); const _vo14 = (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, {
1721
1816
  path: _path + ".operations",
1722
1817
  expected: "(Array<string> | undefined)",
1723
1818
  value: input.operations
@@ -1737,7 +1832,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1737
1832
  path: _path + ".routes[" + _index29 + "]",
1738
1833
  expected: "RouteAuthorization",
1739
1834
  value: elem
1740
- })) && _vo15(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
1835
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
1741
1836
  path: _path + ".routes[" + _index29 + "]",
1742
1837
  expected: "RouteAuthorization",
1743
1838
  value: elem
@@ -1745,7 +1840,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1745
1840
  path: _path + ".routes",
1746
1841
  expected: "(Array<RouteAuthorization> | undefined)",
1747
1842
  value: input.routes
1748
- })].every(flag => flag); const _vo15 = (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, {
1749
1844
  path: _path + ".methods",
1750
1845
  expected: "(Array<HttpMethod> | undefined)",
1751
1846
  value: input.methods
@@ -1773,7 +1868,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1773
1868
  path: _path + ".operations",
1774
1869
  expected: "Array<string>",
1775
1870
  value: input.operations
1776
- })].every(flag => flag); const _vo16 = (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, {
1777
1872
  path: _path + ".host",
1778
1873
  expected: "(string | undefined)",
1779
1874
  value: input.host
@@ -1789,7 +1884,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1789
1884
  path: _path + ".includeBaseURL",
1790
1885
  expected: "(boolean | undefined)",
1791
1886
  value: input.includeBaseURL
1792
- })].every(flag => flag); const _vo17 = (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, {
1793
1888
  path: _path + ".name",
1794
1889
  expected: "string",
1795
1890
  value: input.name
@@ -1805,7 +1900,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1805
1900
  path: _path + ".allowedByDefault",
1806
1901
  expected: "(boolean | undefined)",
1807
1902
  value: input.allowedByDefault
1808
- })].every(flag => flag); const _vo18 = (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, {
1809
1904
  path: _path + ".applicationName",
1810
1905
  expected: "(string | undefined)",
1811
1906
  value: input.applicationName
@@ -1817,7 +1912,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1817
1912
  path: _path + ".description",
1818
1913
  expected: "(string | undefined)",
1819
1914
  value: input.description
1820
- })].every(flag => flag); const _vo19 = (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, {
1821
1916
  path: _path + ".roles",
1822
1917
  expected: "(Array<string> | undefined)",
1823
1918
  value: input.roles
@@ -1841,7 +1936,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
1841
1936
  path: _path + ".applicationName",
1842
1937
  expected: "(string | undefined)",
1843
1938
  value: input.applicationName
1844
- })].every(flag => flag); const _vo20 = (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, {
1845
1940
  path: _path + ".moduleName",
1846
1941
  expected: "string",
1847
1942
  value: input.moduleName
@@ -1849,16 +1944,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
1849
1944
  path: _path + ".customProps",
1850
1945
  expected: "Record<string, any>",
1851
1946
  value: input.customProps
1852
- })) && _vo21(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1947
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
1853
1948
  path: _path + ".customProps",
1854
1949
  expected: "Record<string, any>",
1855
1950
  value: input.customProps
1856
- })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
1857
- const value = input[key];
1858
- if (undefined === value)
1859
- return true;
1860
- return true;
1861
- }).every(flag => flag)].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1951
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
1862
1952
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1863
1953
  return _vo5(input, _path, true && _exceptionable);
1864
1954
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -1924,17 +2014,24 @@ describe('BootstrapSyncMetadata - type validations', () => {
1924
2014
  scopedTo: "any"
1925
2015
  },
1926
2016
  };
1927
- 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 && _io17(elem))) && (undefined === input.rolesAuthz || Array.isArray(input.rolesAuthz) && input.rolesAuthz.every(elem => "object" === typeof elem && null !== elem && _io18(elem))) && (undefined === input.operationsAuthz || Array.isArray(input.operationsAuthz) && input.operationsAuthz.every(elem => "object" === typeof elem && null !== elem && _io19(elem))) && (undefined === input.modulesConfig || Array.isArray(input.modulesConfig) && input.modulesConfig.every(elem => "object" === typeof elem && null !== elem && _io20(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 && _io13(input.cloudFunction)) && (undefined === input.authorization || "object" === typeof input.authorization && null !== input.authorization && false === Array.isArray(input.authorization) && _io14(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) && _io16(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 => 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;
1928
2020
  const value = input[key];
1929
2021
  if (undefined === value)
1930
2022
  return true;
1931
2023
  return true;
1932
- }); const _io13 = input => "aws" === input.provider && "boolean" === typeof input.requiresSignature; const _io14 = 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 && _io15(elem))); const _io15 = 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 _io16 = 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 _io17 = 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 _io18 = input => (undefined === input.applicationName || "string" === typeof input.applicationName) && "string" === typeof input.name && (undefined === input.description || "string" === typeof input.description); const _io19 = 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 _io20 = input => "string" === typeof input.moduleName && ("object" === typeof input.customProps && null !== input.customProps && false === Array.isArray(input.customProps) && _io21(input.customProps)); const _io21 = 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 => {
1933
2030
  const value = input[key];
1934
2031
  if (undefined === value)
1935
2032
  return true;
1936
2033
  return true;
1937
- }); const _iu0 = input => (() => {
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 => (() => {
1938
2035
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
1939
2036
  return _io5(input);
1940
2037
  else if ("AND" === input.operator || "OR" === input.operator)
@@ -2005,7 +2102,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2005
2102
  path: _path + ".applicationsAuthz[" + _index20 + "]",
2006
2103
  expected: "CreateApplicationDTO",
2007
2104
  value: elem
2008
- })) && _vo17(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
2105
+ })) && _vo19(elem, _path + ".applicationsAuthz[" + _index20 + "]", true && _exceptionable) || _report(_exceptionable, {
2009
2106
  path: _path + ".applicationsAuthz[" + _index20 + "]",
2010
2107
  expected: "CreateApplicationDTO",
2011
2108
  value: elem
@@ -2021,7 +2118,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2021
2118
  path: _path + ".rolesAuthz[" + _index21 + "]",
2022
2119
  expected: "CreateRoleDTO",
2023
2120
  value: elem
2024
- })) && _vo18(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
2121
+ })) && _vo20(elem, _path + ".rolesAuthz[" + _index21 + "]", true && _exceptionable) || _report(_exceptionable, {
2025
2122
  path: _path + ".rolesAuthz[" + _index21 + "]",
2026
2123
  expected: "CreateRoleDTO",
2027
2124
  value: elem
@@ -2037,7 +2134,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2037
2134
  path: _path + ".operationsAuthz[" + _index22 + "]",
2038
2135
  expected: "OperationAuthzBootstrap",
2039
2136
  value: elem
2040
- })) && _vo19(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
2137
+ })) && _vo21(elem, _path + ".operationsAuthz[" + _index22 + "]", true && _exceptionable) || _report(_exceptionable, {
2041
2138
  path: _path + ".operationsAuthz[" + _index22 + "]",
2042
2139
  expected: "OperationAuthzBootstrap",
2043
2140
  value: elem
@@ -2053,7 +2150,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2053
2150
  path: _path + ".modulesConfig[" + _index23 + "]",
2054
2151
  expected: "UpdateModuleUIConfigDTO",
2055
2152
  value: elem
2056
- })) && _vo20(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
2153
+ })) && _vo22(elem, _path + ".modulesConfig[" + _index23 + "]", true && _exceptionable) || _report(_exceptionable, {
2057
2154
  path: _path + ".modulesConfig[" + _index23 + "]",
2058
2155
  expected: "UpdateModuleUIConfigDTO",
2059
2156
  value: elem
@@ -2241,7 +2338,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2241
2338
  path: _path + ".cloudFunction",
2242
2339
  expected: "(CloudFunctionConfig | undefined)",
2243
2340
  value: input.cloudFunction
2244
- })) && _vo13(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
2341
+ })) && _vo15(input.cloudFunction, _path + ".cloudFunction", true && _exceptionable) || _report(_exceptionable, {
2245
2342
  path: _path + ".cloudFunction",
2246
2343
  expected: "(CloudFunctionConfig | undefined)",
2247
2344
  value: input.cloudFunction
@@ -2249,7 +2346,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2249
2346
  path: _path + ".authorization",
2250
2347
  expected: "(AuthorizationMetadata | undefined)",
2251
2348
  value: input.authorization
2252
- })) && _vo14(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
2349
+ })) && _vo16(input.authorization, _path + ".authorization", true && _exceptionable) || _report(_exceptionable, {
2253
2350
  path: _path + ".authorization",
2254
2351
  expected: "(AuthorizationMetadata | undefined)",
2255
2352
  value: input.authorization
@@ -2273,7 +2370,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2273
2370
  path: _path + ".serviceLocal",
2274
2371
  expected: "(Partial<ServiceConfig> | undefined)",
2275
2372
  value: input.serviceLocal
2276
- })) && _vo16(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
2373
+ })) && _vo18(input.serviceLocal, _path + ".serviceLocal", true && _exceptionable) || _report(_exceptionable, {
2277
2374
  path: _path + ".serviceLocal",
2278
2375
  expected: "(Partial<ServiceConfig> | undefined)",
2279
2376
  value: input.serviceLocal
@@ -2337,12 +2434,40 @@ describe('BootstrapSyncMetadata - type validations', () => {
2337
2434
  path: _path + ".isPlatformCustomization",
2338
2435
  expected: "(boolean | undefined)",
2339
2436
  value: input.isPlatformCustomization
2340
- })].every(flag => flag); const _vo12 = (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;
2341
2448
  const value = input[key];
2342
2449
  if (undefined === value)
2343
2450
  return true;
2344
2451
  return true;
2345
- }).every(flag => flag)].every(flag => flag); const _vo13 = (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, {
2346
2471
  path: _path + ".provider",
2347
2472
  expected: "\"aws\"",
2348
2473
  value: input.provider
@@ -2350,7 +2475,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2350
2475
  path: _path + ".requiresSignature",
2351
2476
  expected: "boolean",
2352
2477
  value: input.requiresSignature
2353
- })].every(flag => flag); const _vo14 = (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, {
2354
2479
  path: _path + ".operations",
2355
2480
  expected: "(Array<string> | undefined)",
2356
2481
  value: input.operations
@@ -2370,7 +2495,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2370
2495
  path: _path + ".routes[" + _index29 + "]",
2371
2496
  expected: "RouteAuthorization",
2372
2497
  value: elem
2373
- })) && _vo15(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
2498
+ })) && _vo17(elem, _path + ".routes[" + _index29 + "]", true && _exceptionable) || _report(_exceptionable, {
2374
2499
  path: _path + ".routes[" + _index29 + "]",
2375
2500
  expected: "RouteAuthorization",
2376
2501
  value: elem
@@ -2378,7 +2503,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2378
2503
  path: _path + ".routes",
2379
2504
  expected: "(Array<RouteAuthorization> | undefined)",
2380
2505
  value: input.routes
2381
- })].every(flag => flag); const _vo15 = (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, {
2382
2507
  path: _path + ".methods",
2383
2508
  expected: "(Array<HttpMethod> | undefined)",
2384
2509
  value: input.methods
@@ -2406,7 +2531,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2406
2531
  path: _path + ".operations",
2407
2532
  expected: "Array<string>",
2408
2533
  value: input.operations
2409
- })].every(flag => flag); const _vo16 = (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, {
2410
2535
  path: _path + ".host",
2411
2536
  expected: "(string | undefined)",
2412
2537
  value: input.host
@@ -2422,7 +2547,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2422
2547
  path: _path + ".includeBaseURL",
2423
2548
  expected: "(boolean | undefined)",
2424
2549
  value: input.includeBaseURL
2425
- })].every(flag => flag); const _vo17 = (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, {
2426
2551
  path: _path + ".name",
2427
2552
  expected: "string",
2428
2553
  value: input.name
@@ -2438,7 +2563,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2438
2563
  path: _path + ".allowedByDefault",
2439
2564
  expected: "(boolean | undefined)",
2440
2565
  value: input.allowedByDefault
2441
- })].every(flag => flag); const _vo18 = (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, {
2442
2567
  path: _path + ".applicationName",
2443
2568
  expected: "(string | undefined)",
2444
2569
  value: input.applicationName
@@ -2450,7 +2575,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2450
2575
  path: _path + ".description",
2451
2576
  expected: "(string | undefined)",
2452
2577
  value: input.description
2453
- })].every(flag => flag); const _vo19 = (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, {
2454
2579
  path: _path + ".roles",
2455
2580
  expected: "(Array<string> | undefined)",
2456
2581
  value: input.roles
@@ -2474,7 +2599,7 @@ describe('BootstrapSyncMetadata - type validations', () => {
2474
2599
  path: _path + ".applicationName",
2475
2600
  expected: "(string | undefined)",
2476
2601
  value: input.applicationName
2477
- })].every(flag => flag); const _vo20 = (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, {
2478
2603
  path: _path + ".moduleName",
2479
2604
  expected: "string",
2480
2605
  value: input.moduleName
@@ -2482,16 +2607,11 @@ describe('BootstrapSyncMetadata - type validations', () => {
2482
2607
  path: _path + ".customProps",
2483
2608
  expected: "Record<string, any>",
2484
2609
  value: input.customProps
2485
- })) && _vo21(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
2610
+ })) && _vo14(input.customProps, _path + ".customProps", true && _exceptionable) || _report(_exceptionable, {
2486
2611
  path: _path + ".customProps",
2487
2612
  expected: "Record<string, any>",
2488
2613
  value: input.customProps
2489
- })].every(flag => flag); const _vo21 = (input, _path, _exceptionable = true) => [false === _exceptionable || Object.keys(input).map(key => {
2490
- const value = input[key];
2491
- if (undefined === value)
2492
- return true;
2493
- return true;
2494
- }).every(flag => flag)].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
2614
+ })].every(flag => flag); const _vu0 = (input, _path, _exceptionable = true) => (() => {
2495
2615
  if ("eq" === input.operator || "neq" === input.operator || "in" === input.operator || "nin" === input.operator)
2496
2616
  return _vo5(input, _path, true && _exceptionable);
2497
2617
  else if ("AND" === input.operator || "OR" === input.operator)