@gravitee/ui-policy-studio-angular 4.13.0 → 5.0.0-formly-3a6eb29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/{esm2015/gravitee-ui-policy-studio-angular.js → esm2020/gravitee-ui-policy-studio-angular.mjs} +0 -0
  2. package/esm2020/lib/gio-policy-studio.component.mjs +181 -0
  3. package/{esm2015/lib/gio-policy-studio.module.js → esm2020/lib/gio-policy-studio.module.mjs} +4 -4
  4. package/esm2020/lib/models/flow/ConfigurationSchema.fixture.mjs +25 -0
  5. package/{esm2015/lib/models/flow/ConfigurationSchema.js → esm2020/lib/models/flow/ConfigurationSchema.mjs} +0 -0
  6. package/esm2020/lib/models/flow/OrganizationFlowConfiguration.fixture.mjs +10 -0
  7. package/{esm2015/lib/models/flow/OrganizationFlowConfiguration.js → esm2020/lib/models/flow/OrganizationFlowConfiguration.mjs} +0 -0
  8. package/{esm2015/lib/models/flow/PlatformFlowSchema.fixture.js → esm2020/lib/models/flow/PlatformFlowSchema.fixture.mjs} +2 -2
  9. package/{esm2015/lib/models/flow/PlatformFlowSchema.js → esm2020/lib/models/flow/PlatformFlowSchema.mjs} +0 -0
  10. package/{esm2015/lib/models/flow/index-testing.js → esm2020/lib/models/flow/index-testing.mjs} +0 -0
  11. package/{esm2015/lib/models/flow/index.js → esm2020/lib/models/flow/index.mjs} +0 -0
  12. package/{esm2015/lib/models/index.js → esm2020/lib/models/index.mjs} +0 -0
  13. package/{esm2015/lib/models/json.js → esm2020/lib/models/json.mjs} +0 -0
  14. package/esm2020/lib/models/policy/PolicyDocumentation.fixture.mjs +218 -0
  15. package/{esm2015/lib/models/policy/PolicyDocumentation.js → esm2020/lib/models/policy/PolicyDocumentation.mjs} +0 -0
  16. package/esm2020/lib/models/policy/PolicyListItem.fixture.mjs +18 -0
  17. package/{esm2015/lib/models/policy/PolicyListItem.js → esm2020/lib/models/policy/PolicyListItem.mjs} +0 -0
  18. package/esm2020/lib/models/policy/PolicySchema.fixture.mjs +5 -0
  19. package/{esm2015/lib/models/policy/PolicySchema.js → esm2020/lib/models/policy/PolicySchema.mjs} +0 -0
  20. package/{esm2015/lib/models/policy/index-testing.js → esm2020/lib/models/policy/index-testing.mjs} +0 -0
  21. package/{esm2015/lib/models/policy/index.js → esm2020/lib/models/policy/index.mjs} +0 -0
  22. package/esm2020/lib/models/resource/ResourceDocumentation.fixture.mjs +70 -0
  23. package/{esm2015/lib/models/resource/ResourceDocumentation.js → esm2020/lib/models/resource/ResourceDocumentation.mjs} +0 -0
  24. package/esm2020/lib/models/resource/ResourceListItem.fixture.mjs +15 -0
  25. package/{esm2015/lib/models/resource/ResourceListItem.js → esm2020/lib/models/resource/ResourceListItem.mjs} +0 -0
  26. package/{esm2015/lib/models/resource/index-testing.js → esm2020/lib/models/resource/index-testing.mjs} +0 -0
  27. package/{esm2015/lib/models/resource/index.js → esm2020/lib/models/resource/index.mjs} +0 -0
  28. package/{esm2015/testing/lib/models/spel/Grammar.fixture.js → esm2020/lib/models/spel/Grammar.fixture.mjs} +5 -2
  29. package/{esm2015/lib/models/spel/Grammar.js → esm2020/lib/models/spel/Grammar.mjs} +0 -0
  30. package/{esm2015/lib/models/spel/index-testing.js → esm2020/lib/models/spel/index-testing.mjs} +0 -0
  31. package/{esm2015/lib/models/spel/index.js → esm2020/lib/models/spel/index.mjs} +0 -0
  32. package/{esm2015/lib/services/flow.abstract.service.js → esm2020/lib/services/flow.abstract.service.mjs} +1 -1
  33. package/{esm2015/lib/services/flow.service.fixture.js → esm2020/lib/services/flow.service.fixture.mjs} +3 -3
  34. package/{esm2015/lib/services/index.js → esm2020/lib/services/index.mjs} +0 -0
  35. package/{esm2015/lib/services/policy.abstract.service.js → esm2020/lib/services/policy.abstract.service.mjs} +1 -1
  36. package/{esm2015/lib/services/policy.service.fixture.js → esm2020/lib/services/policy.service.fixture.mjs} +3 -3
  37. package/{esm2015/lib/services/resource.abstract.service.js → esm2020/lib/services/resource.abstract.service.mjs} +1 -1
  38. package/{esm2015/lib/services/resource.service.fixture.js → esm2020/lib/services/resource.service.fixture.mjs} +3 -3
  39. package/{esm2015/lib/services/spel.abstract.service.js → esm2020/lib/services/spel.abstract.service.mjs} +1 -1
  40. package/{esm2015/lib/services/spel.service.fixture.js → esm2020/lib/services/spel.service.fixture.mjs} +3 -3
  41. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  42. package/{esm2015/testing/gravitee-ui-policy-studio-angular-testing.js → esm2020/testing/gravitee-ui-policy-studio-angular-testing.mjs} +0 -0
  43. package/esm2020/testing/lib/models/flow/ConfigurationSchema.fixture.mjs +25 -0
  44. package/{esm2015/testing/lib/models/flow/ConfigurationSchema.js → esm2020/testing/lib/models/flow/ConfigurationSchema.mjs} +0 -0
  45. package/esm2020/testing/lib/models/flow/OrganizationFlowConfiguration.fixture.mjs +10 -0
  46. package/{esm2015/testing/lib/models/flow/OrganizationFlowConfiguration.js → esm2020/testing/lib/models/flow/OrganizationFlowConfiguration.mjs} +0 -0
  47. package/{esm2015/testing/lib/models/flow/PlatformFlowSchema.fixture.js → esm2020/testing/lib/models/flow/PlatformFlowSchema.fixture.mjs} +2 -2
  48. package/{esm2015/testing/lib/models/flow/PlatformFlowSchema.js → esm2020/testing/lib/models/flow/PlatformFlowSchema.mjs} +0 -0
  49. package/{esm2015/testing/lib/models/flow/index-testing.js → esm2020/testing/lib/models/flow/index-testing.mjs} +0 -0
  50. package/{esm2015/testing/lib/models/flow/index.js → esm2020/testing/lib/models/flow/index.mjs} +0 -0
  51. package/{esm2015/testing/lib/models/index-testing.js → esm2020/testing/lib/models/index-testing.mjs} +0 -0
  52. package/{esm2015/testing/lib/models/json.js → esm2020/testing/lib/models/json.mjs} +0 -0
  53. package/esm2020/testing/lib/models/policy/PolicyDocumentation.fixture.mjs +218 -0
  54. package/{esm2015/testing/lib/models/policy/PolicyDocumentation.js → esm2020/testing/lib/models/policy/PolicyDocumentation.mjs} +0 -0
  55. package/esm2020/testing/lib/models/policy/PolicyListItem.fixture.mjs +18 -0
  56. package/{esm2015/testing/lib/models/policy/PolicyListItem.js → esm2020/testing/lib/models/policy/PolicyListItem.mjs} +0 -0
  57. package/esm2020/testing/lib/models/policy/PolicySchema.fixture.mjs +5 -0
  58. package/{esm2015/testing/lib/models/policy/PolicySchema.js → esm2020/testing/lib/models/policy/PolicySchema.mjs} +0 -0
  59. package/{esm2015/testing/lib/models/policy/index-testing.js → esm2020/testing/lib/models/policy/index-testing.mjs} +0 -0
  60. package/{esm2015/testing/lib/models/policy/index.js → esm2020/testing/lib/models/policy/index.mjs} +0 -0
  61. package/esm2020/testing/lib/models/resource/ResourceDocumentation.fixture.mjs +70 -0
  62. package/{esm2015/testing/lib/models/resource/ResourceDocumentation.js → esm2020/testing/lib/models/resource/ResourceDocumentation.mjs} +0 -0
  63. package/esm2020/testing/lib/models/resource/ResourceListItem.fixture.mjs +15 -0
  64. package/{esm2015/testing/lib/models/resource/ResourceListItem.js → esm2020/testing/lib/models/resource/ResourceListItem.mjs} +0 -0
  65. package/{esm2015/testing/lib/models/resource/index-testing.js → esm2020/testing/lib/models/resource/index-testing.mjs} +0 -0
  66. package/{esm2015/testing/lib/models/resource/index.js → esm2020/testing/lib/models/resource/index.mjs} +0 -0
  67. package/{esm2015/lib/models/spel/Grammar.fixture.js → esm2020/testing/lib/models/spel/Grammar.fixture.mjs} +5 -2
  68. package/{esm2015/testing/lib/models/spel/Grammar.js → esm2020/testing/lib/models/spel/Grammar.mjs} +0 -0
  69. package/{esm2015/testing/lib/models/spel/index-testing.js → esm2020/testing/lib/models/spel/index-testing.mjs} +0 -0
  70. package/{esm2015/testing/lib/models/spel/index.js → esm2020/testing/lib/models/spel/index.mjs} +0 -0
  71. package/{esm2015/testing/lib/services/flow.abstract.service.js → esm2020/testing/lib/services/flow.abstract.service.mjs} +1 -1
  72. package/{esm2015/testing/lib/services/flow.service.fixture.js → esm2020/testing/lib/services/flow.service.fixture.mjs} +3 -3
  73. package/{esm2015/testing/lib/services/index-testing.js → esm2020/testing/lib/services/index-testing.mjs} +0 -0
  74. package/{esm2015/testing/lib/services/policy.abstract.service.js → esm2020/testing/lib/services/policy.abstract.service.mjs} +1 -1
  75. package/{esm2015/testing/lib/services/policy.service.fixture.js → esm2020/testing/lib/services/policy.service.fixture.mjs} +3 -3
  76. package/{esm2015/testing/lib/services/resource.abstract.service.js → esm2020/testing/lib/services/resource.abstract.service.mjs} +1 -1
  77. package/{esm2015/testing/lib/services/resource.service.fixture.js → esm2020/testing/lib/services/resource.service.fixture.mjs} +3 -3
  78. package/{esm2015/testing/lib/services/spel.abstract.service.js → esm2020/testing/lib/services/spel.abstract.service.mjs} +1 -1
  79. package/{esm2015/testing/lib/services/spel.service.fixture.js → esm2020/testing/lib/services/spel.service.fixture.mjs} +3 -3
  80. package/{esm2015/testing/public-testing-api.js → esm2020/testing/public-testing-api.mjs} +0 -0
  81. package/{esm2015/testing/testing/index.js → esm2020/testing/testing/index.mjs} +0 -0
  82. package/{esm2015 → esm2020}/testing/testing/stories-resources/apim-definition.json +0 -0
  83. package/{esm2015 → esm2020}/testing/testing/stories-resources/apim-flow.json +0 -0
  84. package/{esm2015 → esm2020}/testing/testing/stories-resources/apim-policies.json +0 -0
  85. package/{esm2015 → esm2020}/testing/testing/stories-resources/apim-property-providers.json +0 -0
  86. package/{esm2015 → esm2020}/testing/testing/stories-resources/apim-resource-types.json +0 -0
  87. package/{esm2015/testing/testing/stories-resources/index.js → esm2020/testing/testing/stories-resources/index.mjs} +0 -0
  88. package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs +5675 -0
  89. package/fesm2015/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -0
  90. package/fesm2015/{gravitee-ui-policy-studio-angular.js → gravitee-ui-policy-studio-angular.mjs} +36 -70
  91. package/fesm2015/gravitee-ui-policy-studio-angular.mjs.map +1 -0
  92. package/{fesm2015/gravitee-ui-policy-studio-angular-testing.js → fesm2020/gravitee-ui-policy-studio-angular-testing.mjs} +34 -22
  93. package/fesm2020/gravitee-ui-policy-studio-angular-testing.mjs.map +1 -0
  94. package/fesm2020/gravitee-ui-policy-studio-angular.mjs +4708 -0
  95. package/fesm2020/gravitee-ui-policy-studio-angular.mjs.map +1 -0
  96. package/package.json +34 -13
  97. package/testing/package.json +5 -5
  98. package/bundles/gravitee-ui-policy-studio-angular-testing.umd.js +0 -5729
  99. package/bundles/gravitee-ui-policy-studio-angular-testing.umd.js.map +0 -1
  100. package/bundles/gravitee-ui-policy-studio-angular.umd.js +0 -4711
  101. package/bundles/gravitee-ui-policy-studio-angular.umd.js.map +0 -1
  102. package/esm2015/lib/gio-policy-studio.component.js +0 -185
  103. package/esm2015/lib/models/flow/ConfigurationSchema.fixture.js +0 -25
  104. package/esm2015/lib/models/flow/OrganizationFlowConfiguration.fixture.js +0 -7
  105. package/esm2015/lib/models/policy/PolicyDocumentation.fixture.js +0 -218
  106. package/esm2015/lib/models/policy/PolicyListItem.fixture.js +0 -15
  107. package/esm2015/lib/models/policy/PolicySchema.fixture.js +0 -5
  108. package/esm2015/lib/models/resource/ResourceDocumentation.fixture.js +0 -70
  109. package/esm2015/lib/models/resource/ResourceListItem.fixture.js +0 -12
  110. package/esm2015/testing/lib/models/flow/ConfigurationSchema.fixture.js +0 -25
  111. package/esm2015/testing/lib/models/flow/OrganizationFlowConfiguration.fixture.js +0 -7
  112. package/esm2015/testing/lib/models/policy/PolicyDocumentation.fixture.js +0 -218
  113. package/esm2015/testing/lib/models/policy/PolicyListItem.fixture.js +0 -15
  114. package/esm2015/testing/lib/models/policy/PolicySchema.fixture.js +0 -5
  115. package/esm2015/testing/lib/models/resource/ResourceDocumentation.fixture.js +0 -70
  116. package/esm2015/testing/lib/models/resource/ResourceListItem.fixture.js +0 -12
  117. package/fesm2015/gravitee-ui-policy-studio-angular-testing.js.map +0 -1
  118. package/fesm2015/gravitee-ui-policy-studio-angular.js.map +0 -1
@@ -0,0 +1,181 @@
1
+ /*
2
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ import { chain, isNil } from 'lodash';
17
+ import { catchError, tap } from 'rxjs/operators';
18
+ import { Component, EventEmitter, Inject, Input, Output } from '@angular/core';
19
+ import { EMPTY } from 'rxjs';
20
+ import '@gravitee/ui-components/wc/gv-policy-studio';
21
+ import * as i0 from "@angular/core";
22
+ import * as i1 from "@angular/common";
23
+ import * as i2 from "./services/flow.abstract.service";
24
+ import * as i3 from "./services/policy.abstract.service";
25
+ import * as i4 from "./services/resource.abstract.service";
26
+ import * as i5 from "./services/spel.abstract.service";
27
+ export class GioPolicyStudioComponent {
28
+ constructor(location, flowService, policyService, resourceService, spelService) {
29
+ this.location = location;
30
+ this.flowService = flowService;
31
+ this.policyService = policyService;
32
+ this.resourceService = resourceService;
33
+ this.spelService = spelService;
34
+ this.hasPlans = false;
35
+ this.services = {};
36
+ this.dynamicPropertySchema = {};
37
+ this.configurationInformation = 'By default, the selection of a flow is based on the operator defined in the flow itself. This operator allows either to select a flow when the path matches exactly, or when the start of the path matches. The "Best match" option allows you to select the flow from the path that is closest.';
38
+ this.hideTab = false;
39
+ this.save = new EventEmitter();
40
+ this.debug = new EventEmitter();
41
+ this.unknownPolicyCategory = 'others';
42
+ this.policyCategoriesOrder = ['security', 'performance', 'transformation', this.unknownPolicyCategory];
43
+ }
44
+ set policies(policies) {
45
+ this._policies = chain(policies)
46
+ .map(policy => (!isNil(policy.category) ? policy : { ...policy, category: this.unknownPolicyCategory }))
47
+ // First sort by category (based on category order) and then by name
48
+ .sortBy([policy => this.policyCategoriesOrder.indexOf(policy.category ?? ''), policy => policy.name])
49
+ .value();
50
+ }
51
+ get policies() {
52
+ return this._policies;
53
+ }
54
+ ngOnInit() {
55
+ this.flowService
56
+ .getConfigurationSchemaForm()
57
+ .pipe(tap(configurationSchema => {
58
+ this.configurationSchema = configurationSchema;
59
+ }))
60
+ .subscribe();
61
+ const { tabId, flowsIds } = this.parseUrl();
62
+ if (!this.hideTab) {
63
+ this.tabId = tabId;
64
+ }
65
+ this.selectedFlowsIds = JSON.stringify(flowsIds);
66
+ }
67
+ onTabChanged(tabId) {
68
+ this.updateUrl({ ...this.parseUrl(), tabId });
69
+ }
70
+ onFlowSelectionChanged({ flows }) {
71
+ this.updateUrl({ ...this.parseUrl(), flowsIds: flows });
72
+ }
73
+ fetchPolicyDocumentation({ policy }) {
74
+ this.policyService
75
+ .getDocumentation(policy.id)
76
+ .pipe(tap(documentation => (this.policyDocumentation = { id: policy.id, image: policy.icon, content: documentation })))
77
+ .subscribe();
78
+ }
79
+ fetchResourceDocumentation({ resourceType, target, }) {
80
+ this.resourceService
81
+ .getDocumentation(resourceType.id)
82
+ .pipe(tap(documentation => (target.documentation = { image: resourceType.icon, content: documentation })), catchError(() => {
83
+ target.documentation = null;
84
+ return EMPTY;
85
+ }))
86
+ .subscribe();
87
+ }
88
+ fetchSpelGrammar({ currentTarget }) {
89
+ this.spelService
90
+ .getGrammar()
91
+ .pipe(tap(grammar => (currentTarget.grammar = grammar)))
92
+ .subscribe();
93
+ }
94
+ parseUrl() {
95
+ // TODO: Improve this with Angular Router
96
+ // Hack to add the tab as Fragment part of the URL
97
+ const [path, tabId] = this.location.path(true).split(/#(\w*)$/);
98
+ const [basePath, ...flowsIds] = path.split('flows');
99
+ const cleanedPath = basePath.replace('?', '');
100
+ const cleanedFlows = (flowsIds ?? []).map(flow => flow.replace('=', ''));
101
+ return {
102
+ path: cleanedPath,
103
+ tabId: tabId ?? '',
104
+ flowsIds: cleanedFlows,
105
+ };
106
+ }
107
+ updateUrl({ path, tabId, flowsIds }) {
108
+ // TODO: Improve this with Angular Router
109
+ // Hack to add the tab as Fragment part of the URL
110
+ const flowsQueryParams = (flowsIds ?? []).map(value => `flows=${value}`).join('&');
111
+ const queryParams = flowsQueryParams.length > 0 ? `?${flowsQueryParams}` : '';
112
+ this.location.go(`${path}${queryParams}#${tabId}`);
113
+ }
114
+ }
115
+ GioPolicyStudioComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioComponent, deps: [{ token: i1.Location }, { token: 'FlowService' }, { token: 'PolicyService' }, { token: 'ResourceService' }, { token: 'SpelService' }], target: i0.ɵɵFactoryTarget.Component });
116
+ GioPolicyStudioComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioPolicyStudioComponent, selector: "gio-policy-studio", inputs: { readonly: "readonly", canAdd: "canAdd", canDebug: "canDebug", hasResources: "hasResources", hasProperties: "hasProperties", hasPolicyFilter: "hasPolicyFilter", hasConditionalSteps: "hasConditionalSteps", hasPlans: "hasPlans", sortable: "sortable", policies: "policies", definition: "definition", services: "services", flowSchema: "flowSchema", resourceTypes: "resourceTypes", propertyProviders: "propertyProviders", readonlyPlans: "readonlyPlans", dynamicPropertySchema: "dynamicPropertySchema", debugResponse: "debugResponse", flowsTitle: "flowsTitle", configurationInformation: "configurationInformation", hideTab: "hideTab", tabId: "tabId" }, outputs: { save: "save", debug: "debug" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"policy-studio-wrapper\">\n <gv-policy-studio\n [policies]=\"policies\"\n [services]=\"services\"\n [resourceTypes]=\"resourceTypes\"\n [propertyProviders]=\"propertyProviders\"\n [dynamicPropertySchema]=\"dynamicPropertySchema\"\n [definition]=\"definition\"\n [flowSchema]=\"flowSchema\"\n [configurationSchema]=\"configurationSchema\"\n [configurationInformation]=\"configurationInformation\"\n [attr.readonly]=\"readonly ? readonly : null\"\n [attr.can-add]=\"canAdd ? canAdd : null\"\n [attr.can-debug]=\"canDebug ? canDebug : null\"\n [attr.has-resources]=\"hasResources ? hasResources : null\"\n [attr.has-properties]=\"hasProperties ? hasProperties : null\"\n [attr.has-policy-filter]=\"hasPolicyFilter ? hasPolicyFilter : null\"\n [attr.has-plans]=\"hasPlans ? hasPlans : null\"\n [attr.sortable]=\"sortable ? sortable : null\"\n [attr.readonly-plans]=\"readonlyPlans ? readonlyPlans : null\"\n [attr.flows-title]=\"flowsTitle\"\n [attr.has-conditional-steps]=\"hasConditionalSteps\"\n [debugResponse]=\"debugResponse\"\n [tabId]=\"tabId\"\n (:gv-policy-studio:change-tab)=\"onTabChanged($any($event).detail)\"\n [documentation]=\"policyDocumentation\"\n (:gv-policy-studio:fetch-documentation)=\"fetchPolicyDocumentation($any($event).detail)\"\n (:gv-resources:fetch-documentation)=\"fetchResourceDocumentation($any($event).detail)\"\n (:gv-expression-language:ready)=\"fetchSpelGrammar($any($event).detail)\"\n [attr.selected-flows-id]=\"selectedFlowsIds ? selectedFlowsIds : null\"\n (:gv-policy-studio:select-flows)=\"onFlowSelectionChanged($any($event).detail)\"\n (:gv-policy-studio:save)=\"save.emit($any($event).detail)\"\n (:gv-policy-studio:debug)=\"debug.emit($any($event).detail)\"\n >\n </gv-policy-studio>\n</div>\n", styles: [".policy-studio-wrapper{background-color:#fff}gv-policy-studio{overflow:hidden;margin:2rem 0 1rem 1rem}\n"] });
117
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioComponent, decorators: [{
118
+ type: Component,
119
+ args: [{ selector: 'gio-policy-studio', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div class=\"policy-studio-wrapper\">\n <gv-policy-studio\n [policies]=\"policies\"\n [services]=\"services\"\n [resourceTypes]=\"resourceTypes\"\n [propertyProviders]=\"propertyProviders\"\n [dynamicPropertySchema]=\"dynamicPropertySchema\"\n [definition]=\"definition\"\n [flowSchema]=\"flowSchema\"\n [configurationSchema]=\"configurationSchema\"\n [configurationInformation]=\"configurationInformation\"\n [attr.readonly]=\"readonly ? readonly : null\"\n [attr.can-add]=\"canAdd ? canAdd : null\"\n [attr.can-debug]=\"canDebug ? canDebug : null\"\n [attr.has-resources]=\"hasResources ? hasResources : null\"\n [attr.has-properties]=\"hasProperties ? hasProperties : null\"\n [attr.has-policy-filter]=\"hasPolicyFilter ? hasPolicyFilter : null\"\n [attr.has-plans]=\"hasPlans ? hasPlans : null\"\n [attr.sortable]=\"sortable ? sortable : null\"\n [attr.readonly-plans]=\"readonlyPlans ? readonlyPlans : null\"\n [attr.flows-title]=\"flowsTitle\"\n [attr.has-conditional-steps]=\"hasConditionalSteps\"\n [debugResponse]=\"debugResponse\"\n [tabId]=\"tabId\"\n (:gv-policy-studio:change-tab)=\"onTabChanged($any($event).detail)\"\n [documentation]=\"policyDocumentation\"\n (:gv-policy-studio:fetch-documentation)=\"fetchPolicyDocumentation($any($event).detail)\"\n (:gv-resources:fetch-documentation)=\"fetchResourceDocumentation($any($event).detail)\"\n (:gv-expression-language:ready)=\"fetchSpelGrammar($any($event).detail)\"\n [attr.selected-flows-id]=\"selectedFlowsIds ? selectedFlowsIds : null\"\n (:gv-policy-studio:select-flows)=\"onFlowSelectionChanged($any($event).detail)\"\n (:gv-policy-studio:save)=\"save.emit($any($event).detail)\"\n (:gv-policy-studio:debug)=\"debug.emit($any($event).detail)\"\n >\n </gv-policy-studio>\n</div>\n", styles: [".policy-studio-wrapper{background-color:#fff}gv-policy-studio{overflow:hidden;margin:2rem 0 1rem 1rem}\n"] }]
120
+ }], ctorParameters: function () { return [{ type: i1.Location }, { type: i2.FlowServiceAbstract, decorators: [{
121
+ type: Inject,
122
+ args: ['FlowService']
123
+ }] }, { type: i3.PolicyServiceAbstract, decorators: [{
124
+ type: Inject,
125
+ args: ['PolicyService']
126
+ }] }, { type: i4.ResourceServiceAbstract, decorators: [{
127
+ type: Inject,
128
+ args: ['ResourceService']
129
+ }] }, { type: i5.SpelServiceAbstract, decorators: [{
130
+ type: Inject,
131
+ args: ['SpelService']
132
+ }] }]; }, propDecorators: { readonly: [{
133
+ type: Input
134
+ }], canAdd: [{
135
+ type: Input
136
+ }], canDebug: [{
137
+ type: Input
138
+ }], hasResources: [{
139
+ type: Input
140
+ }], hasProperties: [{
141
+ type: Input
142
+ }], hasPolicyFilter: [{
143
+ type: Input
144
+ }], hasConditionalSteps: [{
145
+ type: Input
146
+ }], hasPlans: [{
147
+ type: Input
148
+ }], sortable: [{
149
+ type: Input
150
+ }], policies: [{
151
+ type: Input
152
+ }], definition: [{
153
+ type: Input
154
+ }], services: [{
155
+ type: Input
156
+ }], flowSchema: [{
157
+ type: Input
158
+ }], resourceTypes: [{
159
+ type: Input
160
+ }], propertyProviders: [{
161
+ type: Input
162
+ }], readonlyPlans: [{
163
+ type: Input
164
+ }], dynamicPropertySchema: [{
165
+ type: Input
166
+ }], debugResponse: [{
167
+ type: Input
168
+ }], flowsTitle: [{
169
+ type: Input
170
+ }], configurationInformation: [{
171
+ type: Input
172
+ }], hideTab: [{
173
+ type: Input
174
+ }], tabId: [{
175
+ type: Input
176
+ }], save: [{
177
+ type: Output
178
+ }], debug: [{
179
+ type: Output
180
+ }] } });
181
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7Ozs7Ozs7O0dBY0c7QUFDSCxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUN0QyxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRWpELE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZGLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDN0IsT0FBTyw2Q0FBNkMsQ0FBQzs7Ozs7OztBQXFCckQsTUFBTSxPQUFPLHdCQUF3QjtJQTRGbkMsWUFDbUIsUUFBa0IsRUFDSyxXQUFnQyxFQUM5QixhQUFvQyxFQUNsQyxlQUF3QyxFQUM1QyxXQUFnQztRQUp2RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQ0ssZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBQzlCLGtCQUFhLEdBQWIsYUFBYSxDQUF1QjtRQUNsQyxvQkFBZSxHQUFmLGVBQWUsQ0FBeUI7UUFDNUMsZ0JBQVcsR0FBWCxXQUFXLENBQXFCO1FBekVuRSxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBcUJqQixhQUFRLEdBQTRCLEVBQUUsQ0FBQztRQWV2QywwQkFBcUIsR0FBWSxFQUFFLENBQUM7UUFTcEMsNkJBQXdCLEdBQzdCLGtTQUFrUyxDQUFDO1FB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SztnQkFhQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFFBQVE7c0JBRGQsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsaUJBQWlCO3NCQUR2QixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMscUJBQXFCO3NCQUQzQixLQUFLO2dCQUlDLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsVUFBVTtzQkFEaEIsS0FBSztnQkFJQyx3QkFBd0I7c0JBRDlCLEtBQUs7Z0JBS0MsT0FBTztzQkFEYixLQUFLO2dCQUlDLEtBQUs7c0JBRFgsS0FBSztnQkFJQyxJQUFJO3NCQURWLE1BQU07Z0JBSUEsS0FBSztzQkFEWCxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAyMiBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IGNoYWluLCBpc05pbCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCB0YXAgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5pbXBvcnQgeyBMb2NhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEVNUFRZIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgJ0BncmF2aXRlZS91aS1jb21wb25lbnRzL3djL2d2LXBvbGljeS1zdHVkaW8nO1xuXG5pbXBvcnQgeyBGbG93U2VydmljZUFic3RyYWN0IH0gZnJvbSAnLi9zZXJ2aWNlcy9mbG93LmFic3RyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgRmxvd0NvbmZpZ3VyYXRpb25TY2hlbWEgfSBmcm9tICcuL21vZGVscy9mbG93L0NvbmZpZ3VyYXRpb25TY2hlbWEnO1xuaW1wb3J0IHsgUG9saWN5TGlzdEl0ZW0gfSBmcm9tICcuL21vZGVscy9wb2xpY3knO1xuaW1wb3J0IHsgUG9saWN5U2VydmljZUFic3RyYWN0IH0gZnJvbSAnLi9zZXJ2aWNlcy9wb2xpY3kuYWJzdHJhY3Quc2VydmljZSc7XG5pbXBvcnQgeyBSZXNvdXJjZVNlcnZpY2VBYnN0cmFjdCB9IGZyb20gJy4vc2VydmljZXMvcmVzb3VyY2UuYWJzdHJhY3Quc2VydmljZSc7XG5pbXBvcnQgeyBTcGVsU2VydmljZUFic3RyYWN0IH0gZnJvbSAnLi9zZXJ2aWNlcy9zcGVsLmFic3RyYWN0LnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhbW1hciB9IGZyb20gJy4vbW9kZWxzL3NwZWwnO1xuXG5pbnRlcmZhY2UgVXJsUGFyYW1zIHtcbiAgcGF0aDogc3RyaW5nO1xuICB0YWJJZDogc3RyaW5nO1xuICBmbG93c0lkczogc3RyaW5nW107XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2dpby1wb2xpY3ktc3R1ZGlvJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2dpby1wb2xpY3ktc3R1ZGlvLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZ2lvLXBvbGljeS1zdHVkaW8uY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgR2lvUG9saWN5U3R1ZGlvQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgQElucHV0KClcbiAgcHVibGljIHJlYWRvbmx5ITogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICAvLyBUT0RPOiBSZW1vdmUgISBhbmQgYWRkIGluaXQgdmFsdWUgISBmb3IgYWxsXG4gIHB1YmxpYyBjYW5BZGQhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBjYW5EZWJ1ZyE6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhhc1Jlc291cmNlcyE6IGJvb2xlYW47XG5cbiAgQElucHV0KClcbiAgcHVibGljIGhhc1Byb3BlcnRpZXMhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoYXNQb2xpY3lGaWx0ZXIhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBoYXNDb25kaXRpb25hbFN0ZXBzITogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGFzUGxhbnMgPSBmYWxzZTtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc29ydGFibGUhOiBib29sZWFuO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgcG9saWNpZXMocG9saWNpZXM6IFBvbGljeUxpc3RJdGVtW10pIHtcbiAgICB0aGlzLl9wb2xpY2llcyA9IGNoYWluKHBvbGljaWVzKVxuICAgICAgLm1hcChwb2xpY3kgPT4gKCFpc05pbChwb2xpY3kuY2F0ZWdvcnkpID8gcG9saWN5IDogeyAuLi5wb2xpY3ksIGNhdGVnb3J5OiB0aGlzLnVua25vd25Qb2xpY3lDYXRlZ29yeSB9KSlcbiAgICAgIC8vIEZpcnN0IHNvcnQgYnkgY2F0ZWdvcnkgKGJhc2VkIG9uIGNhdGVnb3J5IG9yZGVyKSBhbmQgdGhlbiBieSBuYW1lXG4gICAgICAuc29ydEJ5KFtwb2xpY3kgPT4gdGhpcy5wb2xpY3lDYXRlZ29yaWVzT3JkZXIuaW5kZXhPZihwb2xpY3kuY2F0ZWdvcnkgPz8gJycpLCBwb2xpY3kgPT4gcG9saWN5Lm5hbWVdKVxuICAgICAgLnZhbHVlKCk7XG4gIH1cbiAgcHVibGljIGdldCBwb2xpY2llcygpOiBQb2xpY3lMaXN0SXRlbVtdIHtcbiAgICByZXR1cm4gdGhpcy5fcG9saWNpZXM7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgZGVmaW5pdGlvbjogdW5rbm93bjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2VydmljZXM6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZsb3dTY2hlbWE6IHVua25vd247XG5cbiAgQElucHV0KClcbiAgcHVibGljIHJlc291cmNlVHlwZXMhOiB1bmtub3duW107XG5cbiAgQElucHV0KClcbiAgcHVibGljIHByb3BlcnR5UHJvdmlkZXJzITogdW5rbm93bltdO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyByZWFkb25seVBsYW5zITogYm9vbGVhbjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgZHluYW1pY1Byb3BlcnR5U2NoZW1hOiB1bmtub3duID0ge307XG5cbiAgQElucHV0KClcbiAgcHVibGljIGRlYnVnUmVzcG9uc2U6IHVua25vd247XG5cbiAgQElucHV0KClcbiAgcHVibGljIGZsb3dzVGl0bGUhOiBzdHJpbmc7XG5cbiAgQElucHV0KClcbiAgcHVibGljIGNvbmZpZ3VyYXRpb25JbmZvcm1hdGlvbiA9XG4gICAgJ0J5IGRlZmF1bHQsIHRoZSBzZWxlY3Rpb24gb2YgYSBmbG93IGlzIGJhc2VkIG9uIHRoZSBvcGVyYXRvciBkZWZpbmVkIGluIHRoZSBmbG93IGl0c2VsZi4gVGhpcyBvcGVyYXRvciBhbGxvd3MgZWl0aGVyIHRvIHNlbGVjdCBhIGZsb3cgd2hlbiB0aGUgcGF0aCBtYXRjaGVzIGV4YWN0bHksIG9yIHdoZW4gdGhlIHN0YXJ0IG9mIHRoZSBwYXRoIG1hdGNoZXMuIFRoZSBcIkJlc3QgbWF0Y2hcIiBvcHRpb24gYWxsb3dzIHlvdSB0byBzZWxlY3QgdGhlIGZsb3cgZnJvbSB0aGUgcGF0aCB0aGF0IGlzIGNsb3Nlc3QuJztcblxuICBASW5wdXQoKVxuICBwdWJsaWMgaGlkZVRhYiA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyB0YWJJZCE6IHN0cmluZztcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHNhdmUgPSBuZXcgRXZlbnRFbWl0dGVyPHVua25vd24+KCk7XG5cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBkZWJ1ZyA9IG5ldyBFdmVudEVtaXR0ZXI8eyBkZWZpbml0aW9uOiB1bmtub3duOyBzZXJ2aWNlczogdW5rbm93bjsgcmVxdWVzdDogdW5rbm93biB9PigpO1xuXG4gIHB1YmxpYyBzZWxlY3RlZEZsb3dzSWRzITogc3RyaW5nO1xuICBwdWJsaWMgY29uZmlndXJhdGlvblNjaGVtYSE6IEZsb3dDb25maWd1cmF0aW9uU2NoZW1hO1xuICBwdWJsaWMgcG9saWN5RG9jdW1lbnRhdGlvbiE6IHsgaWQ6IHN0cmluZzsgaW1hZ2U6IHN0cmluZzsgY29udGVudDogc3RyaW5nIH07XG5cbiAgcHJpdmF0ZSByZWFkb25seSB1bmtub3duUG9saWN5Q2F0ZWdvcnkgPSAnb3RoZXJzJztcbiAgcHJpdmF0ZSByZWFkb25seSBwb2xpY3lDYXRlZ29yaWVzT3JkZXIgPSBbJ3NlY3VyaXR5JywgJ3BlcmZvcm1hbmNlJywgJ3RyYW5zZm9ybWF0aW9uJywgdGhpcy51bmtub3duUG9saWN5Q2F0ZWdvcnldO1xuICBwcml2YXRlIF9wb2xpY2llcyE6IFBvbGljeUxpc3RJdGVtW107XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBsb2NhdGlvbjogTG9jYXRpb24sXG4gICAgQEluamVjdCgnRmxvd1NlcnZpY2UnKSBwcml2YXRlIHJlYWRvbmx5IGZsb3dTZXJ2aWNlOiBGbG93U2VydmljZUFic3RyYWN0LFxuICAgIEBJbmplY3QoJ1BvbGljeVNlcnZpY2UnKSBwcml2YXRlIHJlYWRvbmx5IHBvbGljeVNlcnZpY2U6IFBvbGljeVNlcnZpY2VBYnN0cmFjdCxcbiAgICBASW5qZWN0KCdSZXNvdXJjZVNlcnZpY2UnKSBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlU2VydmljZTogUmVzb3VyY2VTZXJ2aWNlQWJzdHJhY3QsXG4gICAgQEluamVjdCgnU3BlbFNlcnZpY2UnKSBwcml2YXRlIHJlYWRvbmx5IHNwZWxTZXJ2aWNlOiBTcGVsU2VydmljZUFic3RyYWN0LFxuICApIHt9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMuZmxvd1NlcnZpY2VcbiAgICAgIC5nZXRDb25maWd1cmF0aW9uU2NoZW1hRm9ybSgpXG4gICAgICAucGlwZShcbiAgICAgICAgdGFwKGNvbmZpZ3VyYXRpb25TY2hlbWEgPT4ge1xuICAgICAgICAgIHRoaXMuY29uZmlndXJhdGlvblNjaGVtYSA9IGNvbmZpZ3VyYXRpb25TY2hlbWE7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuXG4gICAgY29uc3QgeyB0YWJJZCwgZmxvd3NJZHMgfSA9IHRoaXMucGFyc2VVcmwoKTtcblxuICAgIGlmICghdGhpcy5oaWRlVGFiKSB7XG4gICAgICB0aGlzLnRhYklkID0gdGFiSWQ7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZEZsb3dzSWRzID0gSlNPTi5zdHJpbmdpZnkoZmxvd3NJZHMpO1xuICB9XG5cbiAgcHVibGljIG9uVGFiQ2hhbmdlZCh0YWJJZDogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVVcmwoeyAuLi50aGlzLnBhcnNlVXJsKCksIHRhYklkIH0pO1xuICB9XG5cbiAgcHVibGljIG9uRmxvd1NlbGVjdGlvbkNoYW5nZWQoeyBmbG93cyB9OiB7IGZsb3dzOiBzdHJpbmdbXSB9KTogdm9pZCB7XG4gICAgdGhpcy51cGRhdGVVcmwoeyAuLi50aGlzLnBhcnNlVXJsKCksIGZsb3dzSWRzOiBmbG93cyB9KTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaFBvbGljeURvY3VtZW50YXRpb24oeyBwb2xpY3kgfTogeyBwb2xpY3k6IHsgaWQ6IHN0cmluZzsgaWNvbjogc3RyaW5nIH0gfSk6IHZvaWQge1xuICAgIHRoaXMucG9saWN5U2VydmljZVxuICAgICAgLmdldERvY3VtZW50YXRpb24ocG9saWN5LmlkKVxuICAgICAgLnBpcGUodGFwKGRvY3VtZW50YXRpb24gPT4gKHRoaXMucG9saWN5RG9jdW1lbnRhdGlvbiA9IHsgaWQ6IHBvbGljeS5pZCwgaW1hZ2U6IHBvbGljeS5pY29uLCBjb250ZW50OiBkb2N1bWVudGF0aW9uIH0pKSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIHB1YmxpYyBmZXRjaFJlc291cmNlRG9jdW1lbnRhdGlvbih7XG4gICAgcmVzb3VyY2VUeXBlLFxuICAgIHRhcmdldCxcbiAgfToge1xuICAgIHJlc291cmNlVHlwZTogeyBpZDogc3RyaW5nOyBpY29uOiBzdHJpbmcgfTtcbiAgICB0YXJnZXQ6IHsgZG9jdW1lbnRhdGlvbjogdW5rbm93biB9O1xuICB9KTogdm9pZCB7XG4gICAgdGhpcy5yZXNvdXJjZVNlcnZpY2VcbiAgICAgIC5nZXREb2N1bWVudGF0aW9uKHJlc291cmNlVHlwZS5pZClcbiAgICAgIC5waXBlKFxuICAgICAgICB0YXAoZG9jdW1lbnRhdGlvbiA9PiAodGFyZ2V0LmRvY3VtZW50YXRpb24gPSB7IGltYWdlOiByZXNvdXJjZVR5cGUuaWNvbiwgY29udGVudDogZG9jdW1lbnRhdGlvbiB9KSksXG4gICAgICAgIGNhdGNoRXJyb3IoKCkgPT4ge1xuICAgICAgICAgIHRhcmdldC5kb2N1bWVudGF0aW9uID0gbnVsbDtcbiAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgIH0pLFxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcHVibGljIGZldGNoU3BlbEdyYW1tYXIoeyBjdXJyZW50VGFyZ2V0IH06IHsgY3VycmVudFRhcmdldDogeyBncmFtbWFyOiBHcmFtbWFyIH0gfSk6IHZvaWQge1xuICAgIHRoaXMuc3BlbFNlcnZpY2VcbiAgICAgIC5nZXRHcmFtbWFyKClcbiAgICAgIC5waXBlKHRhcChncmFtbWFyID0+IChjdXJyZW50VGFyZ2V0LmdyYW1tYXIgPSBncmFtbWFyKSkpXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBwcml2YXRlIHBhcnNlVXJsKCk6IFVybFBhcmFtcyB7XG4gICAgLy8gVE9ETzogSW1wcm92ZSB0aGlzIHdpdGggQW5ndWxhciBSb3V0ZXJcbiAgICAvLyBIYWNrIHRvIGFkZCB0aGUgdGFiIGFzIEZyYWdtZW50IHBhcnQgb2YgdGhlIFVSTFxuICAgIGNvbnN0IFtwYXRoLCB0YWJJZF0gPSB0aGlzLmxvY2F0aW9uLnBhdGgodHJ1ZSkuc3BsaXQoLyMoXFx3KikkLyk7XG5cbiAgICBjb25zdCBbYmFzZVBhdGgsIC4uLmZsb3dzSWRzXSA9IHBhdGguc3BsaXQoJ2Zsb3dzJyk7XG5cbiAgICBjb25zdCBjbGVhbmVkUGF0aCA9IGJhc2VQYXRoLnJlcGxhY2UoJz8nLCAnJyk7XG4gICAgY29uc3QgY2xlYW5lZEZsb3dzID0gKGZsb3dzSWRzID8/IFtdKS5tYXAoZmxvdyA9PiBmbG93LnJlcGxhY2UoJz0nLCAnJykpO1xuXG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGg6IGNsZWFuZWRQYXRoLFxuICAgICAgdGFiSWQ6IHRhYklkID8/ICcnLFxuICAgICAgZmxvd3NJZHM6IGNsZWFuZWRGbG93cyxcbiAgICB9O1xuICB9XG5cbiAgcHJpdmF0ZSB1cGRhdGVVcmwoeyBwYXRoLCB0YWJJZCwgZmxvd3NJZHMgfTogVXJsUGFyYW1zKTogdm9pZCB7XG4gICAgLy8gVE9ETzogSW1wcm92ZSB0aGlzIHdpdGggQW5ndWxhciBSb3V0ZXJcbiAgICAvLyBIYWNrIHRvIGFkZCB0aGUgdGFiIGFzIEZyYWdtZW50IHBhcnQgb2YgdGhlIFVSTFxuICAgIGNvbnN0IGZsb3dzUXVlcnlQYXJhbXMgPSAoZmxvd3NJZHMgPz8gW10pLm1hcCh2YWx1ZSA9PiBgZmxvd3M9JHt2YWx1ZX1gKS5qb2luKCcmJyk7XG5cbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IGZsb3dzUXVlcnlQYXJhbXMubGVuZ3RoID4gMCA/IGA/JHtmbG93c1F1ZXJ5UGFyYW1zfWAgOiAnJztcblxuICAgIHRoaXMubG9jYXRpb24uZ28oYCR7cGF0aH0ke3F1ZXJ5UGFyYW1zfSMke3RhYklkfWApO1xuICB9XG59XG4iLCI8IS0tXG5cbiAgICBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcblxuICAgIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gICAgeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICAgIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuXG4gICAgICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuXG4tLT5cblxuPGRpdiBjbGFzcz1cInBvbGljeS1zdHVkaW8td3JhcHBlclwiPlxuICA8Z3YtcG9saWN5LXN0dWRpb1xuICAgIFtwb2xpY2llc109XCJwb2xpY2llc1wiXG4gICAgW3NlcnZpY2VzXT1cInNlcnZpY2VzXCJcbiAgICBbcmVzb3VyY2VUeXBlc109XCJyZXNvdXJjZVR5cGVzXCJcbiAgICBbcHJvcGVydHlQcm92aWRlcnNdPVwicHJvcGVydHlQcm92aWRlcnNcIlxuICAgIFtkeW5hbWljUHJvcGVydHlTY2hlbWFdPVwiZHluYW1pY1Byb3BlcnR5U2NoZW1hXCJcbiAgICBbZGVmaW5pdGlvbl09XCJkZWZpbml0aW9uXCJcbiAgICBbZmxvd1NjaGVtYV09XCJmbG93U2NoZW1hXCJcbiAgICBbY29uZmlndXJhdGlvblNjaGVtYV09XCJjb25maWd1cmF0aW9uU2NoZW1hXCJcbiAgICBbY29uZmlndXJhdGlvbkluZm9ybWF0aW9uXT1cImNvbmZpZ3VyYXRpb25JbmZvcm1hdGlvblwiXG4gICAgW2F0dHIucmVhZG9ubHldPVwicmVhZG9ubHkgPyByZWFkb25seSA6IG51bGxcIlxuICAgIFthdHRyLmNhbi1hZGRdPVwiY2FuQWRkID8gY2FuQWRkIDogbnVsbFwiXG4gICAgW2F0dHIuY2FuLWRlYnVnXT1cImNhbkRlYnVnID8gY2FuRGVidWcgOiBudWxsXCJcbiAgICBbYXR0ci5oYXMtcmVzb3VyY2VzXT1cImhhc1Jlc291cmNlcyA/IGhhc1Jlc291cmNlcyA6IG51bGxcIlxuICAgIFthdHRyLmhhcy1wcm9wZXJ0aWVzXT1cImhhc1Byb3BlcnRpZXMgPyBoYXNQcm9wZXJ0aWVzIDogbnVsbFwiXG4gICAgW2F0dHIuaGFzLXBvbGljeS1maWx0ZXJdPVwiaGFzUG9saWN5RmlsdGVyID8gaGFzUG9saWN5RmlsdGVyIDogbnVsbFwiXG4gICAgW2F0dHIuaGFzLXBsYW5zXT1cImhhc1BsYW5zID8gaGFzUGxhbnMgOiBudWxsXCJcbiAgICBbYXR0ci5zb3J0YWJsZV09XCJzb3J0YWJsZSA/IHNvcnRhYmxlIDogbnVsbFwiXG4gICAgW2F0dHIucmVhZG9ubHktcGxhbnNdPVwicmVhZG9ubHlQbGFucyA/IHJlYWRvbmx5UGxhbnMgOiBudWxsXCJcbiAgICBbYXR0ci5mbG93cy10aXRsZV09XCJmbG93c1RpdGxlXCJcbiAgICBbYXR0ci5oYXMtY29uZGl0aW9uYWwtc3RlcHNdPVwiaGFzQ29uZGl0aW9uYWxTdGVwc1wiXG4gICAgW2RlYnVnUmVzcG9uc2VdPVwiZGVidWdSZXNwb25zZVwiXG4gICAgW3RhYklkXT1cInRhYklkXCJcbiAgICAoOmd2LXBvbGljeS1zdHVkaW86Y2hhbmdlLXRhYik9XCJvblRhYkNoYW5nZWQoJGFueSgkZXZlbnQpLmRldGFpbClcIlxuICAgIFtkb2N1bWVudGF0aW9uXT1cInBvbGljeURvY3VtZW50YXRpb25cIlxuICAgICg6Z3YtcG9saWN5LXN0dWRpbzpmZXRjaC1kb2N1bWVudGF0aW9uKT1cImZldGNoUG9saWN5RG9jdW1lbnRhdGlvbigkYW55KCRldmVudCkuZGV0YWlsKVwiXG4gICAgKDpndi1yZXNvdXJjZXM6ZmV0Y2gtZG9jdW1lbnRhdGlvbik9XCJmZXRjaFJlc291cmNlRG9jdW1lbnRhdGlvbigkYW55KCRldmVudCkuZGV0YWlsKVwiXG4gICAgKDpndi1leHByZXNzaW9uLWxhbmd1YWdlOnJlYWR5KT1cImZldGNoU3BlbEdyYW1tYXIoJGFueSgkZXZlbnQpLmRldGFpbClcIlxuICAgIFthdHRyLnNlbGVjdGVkLWZsb3dzLWlkXT1cInNlbGVjdGVkRmxvd3NJZHMgPyBzZWxlY3RlZEZsb3dzSWRzIDogbnVsbFwiXG4gICAgKDpndi1wb2xpY3ktc3R1ZGlvOnNlbGVjdC1mbG93cyk9XCJvbkZsb3dTZWxlY3Rpb25DaGFuZ2VkKCRhbnkoJGV2ZW50KS5kZXRhaWwpXCJcbiAgICAoOmd2LXBvbGljeS1zdHVkaW86c2F2ZSk9XCJzYXZlLmVtaXQoJGFueSgkZXZlbnQpLmRldGFpbClcIlxuICAgICg6Z3YtcG9saWN5LXN0dWRpbzpkZWJ1Zyk9XCJkZWJ1Zy5lbWl0KCRhbnkoJGV2ZW50KS5kZXRhaWwpXCJcbiAgPlxuICA8L2d2LXBvbGljeS1zdHVkaW8+XG48L2Rpdj5cbiJdfQ==
@@ -45,10 +45,10 @@ export class GioPolicyStudioModule {
45
45
  };
46
46
  }
47
47
  }
48
- GioPolicyStudioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
- GioPolicyStudioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, declarations: [GioPolicyStudioComponent], exports: [GioPolicyStudioComponent] });
50
- GioPolicyStudioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, imports: [[]] });
51
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: GioPolicyStudioModule, decorators: [{
48
+ GioPolicyStudioModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
49
+ GioPolicyStudioModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioModule, declarations: [GioPolicyStudioComponent], exports: [GioPolicyStudioComponent] });
50
+ GioPolicyStudioModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioModule, imports: [[]] });
51
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioPolicyStudioModule, decorators: [{
52
52
  type: NgModule,
53
53
  args: [{
54
54
  declarations: [GioPolicyStudioComponent],
@@ -0,0 +1,25 @@
1
+ export function fakeFlowConfigurationSchema(attributes) {
2
+ const base = {
3
+ type: 'object',
4
+ id: 'apim',
5
+ properties: {
6
+ flow_mode: {
7
+ title: 'Flow Mode',
8
+ description: 'The flow mode',
9
+ type: 'string',
10
+ enum: ['DEFAULT', 'BEST_MATCH'],
11
+ default: 'DEFAULT',
12
+ 'x-schema-form': {
13
+ titleMap: {
14
+ DEFAULT: 'Default',
15
+ BEST_MATCH: 'Best match',
16
+ },
17
+ },
18
+ },
19
+ },
20
+ required: [],
21
+ disabled: [],
22
+ };
23
+ return { ...base, ...attributes };
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29uZmlndXJhdGlvblNjaGVtYS5maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvbW9kZWxzL2Zsb3cvQ29uZmlndXJhdGlvblNjaGVtYS5maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLFVBQVUsMkJBQTJCLENBQUMsVUFBb0M7SUFDOUUsTUFBTSxJQUFJLEdBQTRCO1FBQ3BDLElBQUksRUFBRSxRQUFRO1FBQ2QsRUFBRSxFQUFFLE1BQU07UUFDVixVQUFVLEVBQUU7WUFDVixTQUFTLEVBQUU7Z0JBQ1QsS0FBSyxFQUFFLFdBQVc7Z0JBQ2xCLFdBQVcsRUFBRSxlQUFlO2dCQUM1QixJQUFJLEVBQUUsUUFBUTtnQkFDZCxJQUFJLEVBQUUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDO2dCQUMvQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsZUFBZSxFQUFFO29CQUNmLFFBQVEsRUFBRTt3QkFDUixPQUFPLEVBQUUsU0FBUzt3QkFDbEIsVUFBVSxFQUFFLFlBQVk7cUJBQ3pCO2lCQUNGO2FBQ0Y7U0FDRjtRQUNELFFBQVEsRUFBRSxFQUFFO1FBQ1osUUFBUSxFQUFFLEVBQUU7S0FDYixDQUFDO0lBRUYsT0FBTyxFQUFFLEdBQUcsSUFBSSxFQUFFLEdBQUcsVUFBVSxFQUFFLENBQUM7QUFDcEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBGbG93Q29uZmlndXJhdGlvblNjaGVtYSB9IGZyb20gJy4vQ29uZmlndXJhdGlvblNjaGVtYSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWtlRmxvd0NvbmZpZ3VyYXRpb25TY2hlbWEoYXR0cmlidXRlcz86IEZsb3dDb25maWd1cmF0aW9uU2NoZW1hKTogRmxvd0NvbmZpZ3VyYXRpb25TY2hlbWEge1xuICBjb25zdCBiYXNlOiBGbG93Q29uZmlndXJhdGlvblNjaGVtYSA9IHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBpZDogJ2FwaW0nLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGZsb3dfbW9kZToge1xuICAgICAgICB0aXRsZTogJ0Zsb3cgTW9kZScsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGZsb3cgbW9kZScsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICBlbnVtOiBbJ0RFRkFVTFQnLCAnQkVTVF9NQVRDSCddLFxuICAgICAgICBkZWZhdWx0OiAnREVGQVVMVCcsXG4gICAgICAgICd4LXNjaGVtYS1mb3JtJzoge1xuICAgICAgICAgIHRpdGxlTWFwOiB7XG4gICAgICAgICAgICBERUZBVUxUOiAnRGVmYXVsdCcsXG4gICAgICAgICAgICBCRVNUX01BVENIOiAnQmVzdCBtYXRjaCcsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXF1aXJlZDogW10sXG4gICAgZGlzYWJsZWQ6IFtdLFxuICB9O1xuXG4gIHJldHVybiB7IC4uLmJhc2UsIC4uLmF0dHJpYnV0ZXMgfTtcbn1cbiJdfQ==
@@ -0,0 +1,10 @@
1
+ export function fakeOrganizationFlowConfiguration(attributes) {
2
+ const base = {
3
+ has_policies: true,
4
+ };
5
+ return {
6
+ ...base,
7
+ ...attributes,
8
+ };
9
+ }
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiT3JnYW5pemF0aW9uRmxvd0NvbmZpZ3VyYXRpb24uZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL21vZGVscy9mbG93L09yZ2FuaXphdGlvbkZsb3dDb25maWd1cmF0aW9uLmZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sVUFBVSxpQ0FBaUMsQ0FBQyxVQUFtRDtJQUNuRyxNQUFNLElBQUksR0FBa0M7UUFDMUMsWUFBWSxFQUFFLElBQUk7S0FDbkIsQ0FBQztJQUVGLE9BQU87UUFDTCxHQUFHLElBQUk7UUFDUCxHQUFHLFVBQVU7S0FDZCxDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKEMpIDIwMTUgVGhlIEdyYXZpdGVlIHRlYW0gKGh0dHA6Ly9ncmF2aXRlZS5pbylcbiAqXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICogeW91IG1heSBub3QgdXNlIHRoaXMgZmlsZSBleGNlcHQgaW4gY29tcGxpYW5jZSB3aXRoIHRoZSBMaWNlbnNlLlxuICogWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG4gKlxuICogICAgICAgICBodHRwOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcbiAqXG4gKiBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gKiBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gKiBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgQ09ORElUSU9OUyBPRiBBTlkgS0lORCwgZWl0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZC5cbiAqIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAqIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuICovXG5pbXBvcnQgeyBPcmdhbml6YXRpb25GbG93Q29uZmlndXJhdGlvbiB9IGZyb20gJy4vT3JnYW5pemF0aW9uRmxvd0NvbmZpZ3VyYXRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZmFrZU9yZ2FuaXphdGlvbkZsb3dDb25maWd1cmF0aW9uKGF0dHJpYnV0ZXM/OiBQYXJ0aWFsPE9yZ2FuaXphdGlvbkZsb3dDb25maWd1cmF0aW9uPik6IE9yZ2FuaXphdGlvbkZsb3dDb25maWd1cmF0aW9uIHtcbiAgY29uc3QgYmFzZTogT3JnYW5pemF0aW9uRmxvd0NvbmZpZ3VyYXRpb24gPSB7XG4gICAgaGFzX3BvbGljaWVzOiB0cnVlLFxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgLi4uYmFzZSxcbiAgICAuLi5hdHRyaWJ1dGVzLFxuICB9O1xufVxuIl19
@@ -64,6 +64,6 @@ export function fakePlatformFlowSchema(attributes) {
64
64
  required: [],
65
65
  disabled: [],
66
66
  };
67
- return Object.assign(Object.assign({}, base), attributes);
67
+ return { ...base, ...attributes };
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhdGZvcm1GbG93U2NoZW1hLmZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvZmxvdy9QbGF0Zm9ybUZsb3dTY2hlbWEuZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQStCO0lBQ3BFLE1BQU0sSUFBSSxHQUF1QjtRQUMvQixJQUFJLEVBQUUsUUFBUTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxNQUFNO2dCQUNiLFdBQVcsRUFBRSxrRkFBa0Y7Z0JBQy9GLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRCxlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLFFBQVEsRUFBRTt3QkFDUixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsV0FBVyxFQUFFLG1CQUFtQjt3QkFDaEMsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQzt3QkFDL0IsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLGVBQWUsRUFBRTs0QkFDZixRQUFRLEVBQUU7Z0NBQ1IsTUFBTSxFQUFFLFFBQVE7Z0NBQ2hCLFdBQVcsRUFBRSxhQUFhOzZCQUMzQjt5QkFDRjtxQkFDRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLE1BQU07d0JBQ2IsV0FBVyxFQUFFLG9DQUFvQzt3QkFDakQsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFLElBQUk7d0JBQ2IsT0FBTyxFQUFFLEdBQUc7cUJBQ2I7aUJBQ0Y7Z0JBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQzthQUMvQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsV0FBVyxFQUFFLHlDQUF5QztnQkFDdEQsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO2lCQUN2RjthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxNQUFNO2dCQUNiLFdBQVcsRUFBRSxtQkFBbUI7Z0JBQ2hDLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsRUFBRTtpQkFDVDthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxXQUFXO2dCQUNsQixXQUFXLEVBQUUseUNBQXlDO2dCQUN0RCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxlQUFlLEVBQUU7b0JBQ2YscUJBQXFCLEVBQUUsSUFBSTtpQkFDNUI7YUFDRjtTQUNGO1FBQ0QsUUFBUSxFQUFFLEVBQUU7UUFDWixRQUFRLEVBQUUsRUFBRTtLQUNiLENBQUM7SUFDRix1Q0FBWSxJQUFJLEdBQUssVUFBVSxFQUFHO0FBQ3BDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChDKSAyMDE1IFRoZSBHcmF2aXRlZSB0ZWFtIChodHRwOi8vZ3Jhdml0ZWUuaW8pXG4gKlxuICogTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAqIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAqIFlvdSBtYXkgb2J0YWluIGEgY29weSBvZiB0aGUgTGljZW5zZSBhdFxuICpcbiAqICAgICAgICAgaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG4gKlxuICogVW5sZXNzIHJlcXVpcmVkIGJ5IGFwcGxpY2FibGUgbGF3IG9yIGFncmVlZCB0byBpbiB3cml0aW5nLCBzb2Z0d2FyZVxuICogZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICogV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gKiBTZWUgdGhlIExpY2Vuc2UgZm9yIHRoZSBzcGVjaWZpYyBsYW5ndWFnZSBnb3Zlcm5pbmcgcGVybWlzc2lvbnMgYW5kXG4gKiBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiAqL1xuaW1wb3J0IHsgUGxhdGZvcm1GbG93U2NoZW1hIH0gZnJvbSAnLi9QbGF0Zm9ybUZsb3dTY2hlbWEnO1xuXG5leHBvcnQgZnVuY3Rpb24gZmFrZVBsYXRmb3JtRmxvd1NjaGVtYShhdHRyaWJ1dGVzPzogUGxhdGZvcm1GbG93U2NoZW1hKTogUGxhdGZvcm1GbG93U2NoZW1hIHtcbiAgY29uc3QgYmFzZTogUGxhdGZvcm1GbG93U2NoZW1hID0ge1xuICAgIHR5cGU6ICdvYmplY3QnLFxuICAgIGlkOiAnYXBpbScsXG4gICAgcHJvcGVydGllczoge1xuICAgICAgbmFtZToge1xuICAgICAgICB0aXRsZTogJ05hbWUnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBuYW1lIG9mIGZsb3cuIElmIGVtcHR5LCB0aGUgbmFtZSB3aWxsIGJlIGdlbmVyYXRlZCB3aXRoIHRoZSBwYXRoIGFuZCBtZXRob2RzJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICB9LFxuICAgICAgJ3BhdGgtb3BlcmF0b3InOiB7XG4gICAgICAgIHR5cGU6ICdvYmplY3QnLFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgb3BlcmF0b3I6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnT3BlcmF0b3IgcGF0aCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBvcGVyYXRvciBwYXRoJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgZW51bTogWydFUVVBTFMnLCAnU1RBUlRTX1dJVEgnXSxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICdTVEFSVFNfV0lUSCcsXG4gICAgICAgICAgICAneC1zY2hlbWEtZm9ybSc6IHtcbiAgICAgICAgICAgICAgdGl0bGVNYXA6IHtcbiAgICAgICAgICAgICAgICBFUVVBTFM6ICdFcXVhbHMnLFxuICAgICAgICAgICAgICAgIFNUQVJUU19XSVRIOiAnU3RhcnRzIHdpdGgnLFxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICAgIHBhdGg6IHtcbiAgICAgICAgICAgIHRpdGxlOiAnUGF0aCcsXG4gICAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBwYXRoIG9mIGZsb3cgKG11c3Qgc3RhcnQgYnkgLyknLFxuICAgICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgICBwYXR0ZXJuOiAnXi8nLFxuICAgICAgICAgICAgZGVmYXVsdDogJy8nLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHJlcXVpcmVkOiBbJ3BhdGgnLCAnb3BlcmF0b3InXSxcbiAgICAgIH0sXG4gICAgICBtZXRob2RzOiB7XG4gICAgICAgIHRpdGxlOiAnTWV0aG9kcycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIEhUVFAgbWV0aG9kcyBvZiBmbG93IChBTEwgaWYgZW1wdHkpJyxcbiAgICAgICAgdHlwZTogJ2FycmF5JyxcbiAgICAgICAgaXRlbXM6IHtcbiAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICBlbnVtOiBbJ0NPTk5FQ1QnLCAnREVMRVRFJywgJ0dFVCcsICdIRUFEJywgJ09QVElPTlMnLCAnUEFUQ0gnLCAnUE9TVCcsICdQVVQnLCAnVFJBQ0UnXSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBjb25zdW1lcnM6IHtcbiAgICAgICAgdGl0bGU6ICdUYWdzJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgdGFncyBvZiBmbG93LicsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZW51bTogW10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgY29uZGl0aW9uOiB7XG4gICAgICAgIHRpdGxlOiAnQ29uZGl0aW9uJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgY29uZGl0aW9uIG9mIHRoZSBmbG93LiBTdXBwb3J0cyBFTC4nLFxuICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgJ3gtc2NoZW1hLWZvcm0nOiB7XG4gICAgICAgICAgJ2V4cHJlc3Npb24tbGFuZ3VhZ2UnOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICAgIHJlcXVpcmVkOiBbXSxcbiAgICBkaXNhYmxlZDogW10sXG4gIH07XG4gIHJldHVybiB7IC4uLmJhc2UsIC4uLmF0dHJpYnV0ZXMgfTtcbn1cbiJdfQ==
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGxhdGZvcm1GbG93U2NoZW1hLmZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvZmxvdy9QbGF0Zm9ybUZsb3dTY2hlbWEuZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxVQUFVLHNCQUFzQixDQUFDLFVBQStCO0lBQ3BFLE1BQU0sSUFBSSxHQUF1QjtRQUMvQixJQUFJLEVBQUUsUUFBUTtRQUNkLEVBQUUsRUFBRSxNQUFNO1FBQ1YsVUFBVSxFQUFFO1lBQ1YsSUFBSSxFQUFFO2dCQUNKLEtBQUssRUFBRSxNQUFNO2dCQUNiLFdBQVcsRUFBRSxrRkFBa0Y7Z0JBQy9GLElBQUksRUFBRSxRQUFRO2FBQ2Y7WUFDRCxlQUFlLEVBQUU7Z0JBQ2YsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsVUFBVSxFQUFFO29CQUNWLFFBQVEsRUFBRTt3QkFDUixLQUFLLEVBQUUsZUFBZTt3QkFDdEIsV0FBVyxFQUFFLG1CQUFtQjt3QkFDaEMsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFLGFBQWEsQ0FBQzt3QkFDL0IsT0FBTyxFQUFFLGFBQWE7d0JBQ3RCLGVBQWUsRUFBRTs0QkFDZixRQUFRLEVBQUU7Z0NBQ1IsTUFBTSxFQUFFLFFBQVE7Z0NBQ2hCLFdBQVcsRUFBRSxhQUFhOzZCQUMzQjt5QkFDRjtxQkFDRjtvQkFDRCxJQUFJLEVBQUU7d0JBQ0osS0FBSyxFQUFFLE1BQU07d0JBQ2IsV0FBVyxFQUFFLG9DQUFvQzt3QkFDakQsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsT0FBTyxFQUFFLElBQUk7d0JBQ2IsT0FBTyxFQUFFLEdBQUc7cUJBQ2I7aUJBQ0Y7Z0JBQ0QsUUFBUSxFQUFFLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQzthQUMvQjtZQUNELE9BQU8sRUFBRTtnQkFDUCxLQUFLLEVBQUUsU0FBUztnQkFDaEIsV0FBVyxFQUFFLHlDQUF5QztnQkFDdEQsSUFBSSxFQUFFLE9BQU87Z0JBQ2IsS0FBSyxFQUFFO29CQUNMLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsT0FBTyxDQUFDO2lCQUN2RjthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxNQUFNO2dCQUNiLFdBQVcsRUFBRSxtQkFBbUI7Z0JBQ2hDLElBQUksRUFBRSxPQUFPO2dCQUNiLEtBQUssRUFBRTtvQkFDTCxJQUFJLEVBQUUsUUFBUTtvQkFDZCxJQUFJLEVBQUUsRUFBRTtpQkFDVDthQUNGO1lBQ0QsU0FBUyxFQUFFO2dCQUNULEtBQUssRUFBRSxXQUFXO2dCQUNsQixXQUFXLEVBQUUseUNBQXlDO2dCQUN0RCxJQUFJLEVBQUUsUUFBUTtnQkFDZCxlQUFlLEVBQUU7b0JBQ2YscUJBQXFCLEVBQUUsSUFBSTtpQkFDNUI7YUFDRjtTQUNGO1FBQ0QsUUFBUSxFQUFFLEVBQUU7UUFDWixRQUFRLEVBQUUsRUFBRTtLQUNiLENBQUM7SUFDRixPQUFPLEVBQUUsR0FBRyxJQUFJLEVBQUUsR0FBRyxVQUFVLEVBQUUsQ0FBQztBQUNwQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IFBsYXRmb3JtRmxvd1NjaGVtYSB9IGZyb20gJy4vUGxhdGZvcm1GbG93U2NoZW1hJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZha2VQbGF0Zm9ybUZsb3dTY2hlbWEoYXR0cmlidXRlcz86IFBsYXRmb3JtRmxvd1NjaGVtYSk6IFBsYXRmb3JtRmxvd1NjaGVtYSB7XG4gIGNvbnN0IGJhc2U6IFBsYXRmb3JtRmxvd1NjaGVtYSA9IHtcbiAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICBpZDogJ2FwaW0nLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIG5hbWU6IHtcbiAgICAgICAgdGl0bGU6ICdOYW1lJyxcbiAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgbmFtZSBvZiBmbG93LiBJZiBlbXB0eSwgdGhlIG5hbWUgd2lsbCBiZSBnZW5lcmF0ZWQgd2l0aCB0aGUgcGF0aCBhbmQgbWV0aG9kcycsXG4gICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgfSxcbiAgICAgICdwYXRoLW9wZXJhdG9yJzoge1xuICAgICAgICB0eXBlOiAnb2JqZWN0JyxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIG9wZXJhdG9yOiB7XG4gICAgICAgICAgICB0aXRsZTogJ09wZXJhdG9yIHBhdGgnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgb3BlcmF0b3IgcGF0aCcsXG4gICAgICAgICAgICB0eXBlOiAnc3RyaW5nJyxcbiAgICAgICAgICAgIGVudW06IFsnRVFVQUxTJywgJ1NUQVJUU19XSVRIJ10sXG4gICAgICAgICAgICBkZWZhdWx0OiAnU1RBUlRTX1dJVEgnLFxuICAgICAgICAgICAgJ3gtc2NoZW1hLWZvcm0nOiB7XG4gICAgICAgICAgICAgIHRpdGxlTWFwOiB7XG4gICAgICAgICAgICAgICAgRVFVQUxTOiAnRXF1YWxzJyxcbiAgICAgICAgICAgICAgICBTVEFSVFNfV0lUSDogJ1N0YXJ0cyB3aXRoJyxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgICBwYXRoOiB7XG4gICAgICAgICAgICB0aXRsZTogJ1BhdGgnLFxuICAgICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgcGF0aCBvZiBmbG93IChtdXN0IHN0YXJ0IGJ5IC8pJyxcbiAgICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgICAgcGF0dGVybjogJ14vJyxcbiAgICAgICAgICAgIGRlZmF1bHQ6ICcvJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICByZXF1aXJlZDogWydwYXRoJywgJ29wZXJhdG9yJ10sXG4gICAgICB9LFxuICAgICAgbWV0aG9kczoge1xuICAgICAgICB0aXRsZTogJ01ldGhvZHMnLFxuICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBIVFRQIG1ldGhvZHMgb2YgZmxvdyAoQUxMIGlmIGVtcHR5KScsXG4gICAgICAgIHR5cGU6ICdhcnJheScsXG4gICAgICAgIGl0ZW1zOiB7XG4gICAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICAgZW51bTogWydDT05ORUNUJywgJ0RFTEVURScsICdHRVQnLCAnSEVBRCcsICdPUFRJT05TJywgJ1BBVENIJywgJ1BPU1QnLCAnUFVUJywgJ1RSQUNFJ10sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgY29uc3VtZXJzOiB7XG4gICAgICAgIHRpdGxlOiAnVGFncycsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIHRhZ3Mgb2YgZmxvdy4nLFxuICAgICAgICB0eXBlOiAnYXJyYXknLFxuICAgICAgICBpdGVtczoge1xuICAgICAgICAgIHR5cGU6ICdzdHJpbmcnLFxuICAgICAgICAgIGVudW06IFtdLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGNvbmRpdGlvbjoge1xuICAgICAgICB0aXRsZTogJ0NvbmRpdGlvbicsXG4gICAgICAgIGRlc2NyaXB0aW9uOiAnVGhlIGNvbmRpdGlvbiBvZiB0aGUgZmxvdy4gU3VwcG9ydHMgRUwuJyxcbiAgICAgICAgdHlwZTogJ3N0cmluZycsXG4gICAgICAgICd4LXNjaGVtYS1mb3JtJzoge1xuICAgICAgICAgICdleHByZXNzaW9uLWxhbmd1YWdlJzogdHJ1ZSxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICByZXF1aXJlZDogW10sXG4gICAgZGlzYWJsZWQ6IFtdLFxuICB9O1xuICByZXR1cm4geyAuLi5iYXNlLCAuLi5hdHRyaWJ1dGVzIH07XG59XG4iXX0=
@@ -0,0 +1,218 @@
1
+ export function fakePolicyDocumentation(attributes) {
2
+ const base = `
3
+ = RateLimit policy
4
+
5
+
6
+ ifdef::env-github[]
7
+ image:https://ci.gravitee.io/buildStatus/icon?job=gravitee-io/gravitee-policy-ratelimit/master["Build status", link="https://ci.gravitee.io/job/gravitee-io/job/gravitee-policy-ratelimit/"]
8
+ image:https://badges.gitter.im/Join Chat.svg["Gitter", link="https://gitter.im/gravitee-io/gravitee-io?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge"]
9
+ endif::[]
10
+
11
+ == Phase
12
+
13
+ |===
14
+ |onRequest |onResponse
15
+
16
+ | X
17
+ |
18
+
19
+ |===
20
+
21
+ == Description
22
+
23
+ There are three \`rate-limit\` policies:
24
+
25
+ * Quota: configures the number of requests allowed over a period of time (hours, days, weeks, months)
26
+ * Rate-Limit: configures the number of requests allowed over a limited period of time (seconds, minutes)
27
+ * Spike-Arrest: throttles the number of requests processed and sends them to the backend to avoid a spike
28
+
29
+ == Configuration
30
+
31
+ You can configure the policies with the following options:
32
+
33
+ === Quota
34
+
35
+ The Quota policy configures the number of requests allowed over a large period of time (from hours to months).
36
+ This policy does not prevent request spikes.
37
+
38
+ |===
39
+ |Property |Required |Description |Type |Default
40
+
41
+ |key
42
+ |No
43
+ |Key to identify a consumer to apply the quota against. Leave it empty to apply the default behavior (plan/subscription pair). Supports Expression Language.
44
+ |String
45
+ |null
46
+
47
+ |limit
48
+ |No
49
+ |Static limit on the number of requests that can be sent (this limit is used if the value > 0).
50
+ |integer
51
+ |0
52
+
53
+ |dynamicLimit
54
+ |No
55
+ |Dynamic limit on the number of requests that can be sent (this limit is used if static limit = 0). The dynamic value is based on Expression Language expressions.
56
+ |string
57
+ |null
58
+
59
+ |periodTime
60
+ |Yes
61
+ |Time duration
62
+ |Integer
63
+ |1
64
+
65
+ |periodTimeUnit
66
+ |Yes
67
+ |Time unit (\`HOURS\`, \`DAYS\`, \`WEEKS\`, \`MONTHS\`)
68
+ |String
69
+ |MONTHS
70
+
71
+ |===
72
+
73
+ ==== Configuration example
74
+
75
+ [source, json]
76
+ ----
77
+ "quota": {
78
+ "limit": "1000",
79
+ "periodTime": 1,
80
+ "periodTimeUnit": "MONTHS"
81
+ }
82
+ ----
83
+
84
+ === Rate-Limit
85
+
86
+ The Rate-Limit policy configures the number of requests allow over a limited period of time (from seconds to minutes).
87
+ This policy does not prevent request spikes.
88
+
89
+ |===
90
+ |Property |Required |Description |Type |Default
91
+
92
+ |key
93
+ |No
94
+ |Key to identify a consumer to apply rate-limiting against. Leave it empty to use the default behavior (plan/subscription pair). Supports Expression Language.
95
+ |String
96
+ |null
97
+
98
+ |limit
99
+ |No
100
+ |Static limit on the number of requests that can be sent (this limit is used if the value > 0).
101
+ |integer
102
+ |0
103
+
104
+ |dynamicLimit
105
+ |No
106
+ |Dynamic limit on the number of requests that can be sent (this limit is used if static limit = 0). The dynamic value is based on Expression Language expressions.
107
+ |string
108
+ |null
109
+
110
+ |periodTime
111
+ |Yes
112
+ |Time duration
113
+ |Integer
114
+ |1
115
+
116
+ |periodTimeUnit
117
+ |Yes
118
+ |Time unit ("SECONDS", "MINUTES" )
119
+ |String
120
+ |SECONDS
121
+
122
+ |===
123
+
124
+ ==== Configuration example
125
+
126
+ [source, json]
127
+ ----
128
+ "rate": {
129
+ "limit": "10",
130
+ "periodTime": 10,
131
+ "periodTimeUnit": "MINUTES"
132
+ }
133
+ ----
134
+
135
+ === Spike Arrest
136
+
137
+ The Spike-Arrest policy configures the number of requests allow over a limited period of time (from seconds to minutes).
138
+ This policy prevents request spikes by throttling incoming requests.
139
+ For example, a SpikeArrest policy configured to 2000 requests/second will limit the execution of simultaneous requests to 200 requests per 100ms.
140
+
141
+ By default, the SpikeArrest policy is applied to a plan, not a consumer. To apply a spike arrest to a consumer, you need to use the \`key\` attribute, which supports Expression Language.
142
+
143
+ |===
144
+ |Property |Required |Description |Type |Default
145
+
146
+ |key
147
+ |No
148
+ |Key to identify a consumer to apply spike arresting against. Leave it empty to use the default behavior. Supports Expression Language (example: \`{#request.headers['x-consumer-id']}\`).
149
+ |String
150
+ |null
151
+
152
+ |limit
153
+ |No
154
+ |Static limit on the number of requests that can be sent (this limit is used if the value > 0).
155
+ |integer
156
+ |0
157
+
158
+ |dynamicLimit
159
+ |No
160
+ |Dynamic limit on the number of requests that can be sent (this limit is used if static limit = 0). The dynamic value is based on Expression Language expressions.
161
+ |string
162
+ |null
163
+
164
+ |periodTime
165
+ |Yes
166
+ |Time duration
167
+ |Integer
168
+ |1
169
+
170
+ |periodTimeUnit
171
+ |Yes
172
+ |Time unit (\`SECONDS\`, \`MINUTES\`)
173
+ |String
174
+ |SECONDS
175
+
176
+ |===
177
+
178
+ ==== Configuration example
179
+
180
+ [source, json]
181
+ ----
182
+ "spike": {
183
+ "limit": "10",
184
+ "periodTime": 10,
185
+ "periodTimeUnit": "MINUTES"
186
+ }
187
+ ----
188
+
189
+ == Errors
190
+
191
+ === Default response override
192
+
193
+ You can use the response template feature to override the default response provided by the policies. These templates must be defined at the API level (see the API Console *Response Templates*
194
+ option in the API *Proxy* menu).
195
+
196
+ === Error keys
197
+
198
+ The error keys sent by these policies are as follows:
199
+
200
+ [cols="2*", options="header"]
201
+ |===
202
+ ^|Key
203
+ ^|Parameters
204
+
205
+ .^|RATE_LIMIT_TOO_MANY_REQUESTS
206
+ ^.^|limit - period_time - period_unit
207
+
208
+ .^|QUOTA_TOO_MANY_REQUESTS
209
+ ^.^|limit - period_time - period_unit
210
+
211
+ .^|SPIKE_ARREST_TOO_MANY_REQUESTS
212
+ ^.^|limit - period_time - period_unit - slice_limit - slice_period_time - slice_limit_period_unit
213
+
214
+ |===
215
+ `;
216
+ return attributes ?? base;
217
+ }
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9saWN5RG9jdW1lbnRhdGlvbi5maXh0dXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdWktcG9saWN5LXN0dWRpby1hbmd1bGFyL3NyYy9saWIvbW9kZWxzL3BvbGljeS9Qb2xpY3lEb2N1bWVudGF0aW9uLmZpeHR1cmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUJBLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxVQUFnQztJQUN0RSxNQUFNLElBQUksR0FBd0I7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQXFObkMsQ0FBQztJQUVBLE9BQU8sVUFBVSxJQUFJLElBQUksQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IFBvbGljeURvY3VtZW50YXRpb24gfSBmcm9tICcuL1BvbGljeURvY3VtZW50YXRpb24nO1xuXG5leHBvcnQgZnVuY3Rpb24gZmFrZVBvbGljeURvY3VtZW50YXRpb24oYXR0cmlidXRlcz86IFBvbGljeURvY3VtZW50YXRpb24pOiBQb2xpY3lEb2N1bWVudGF0aW9uIHtcbiAgY29uc3QgYmFzZTogUG9saWN5RG9jdW1lbnRhdGlvbiA9IGBcbj0gUmF0ZUxpbWl0IHBvbGljeVxuXG5cbmlmZGVmOjplbnYtZ2l0aHViW11cbmltYWdlOmh0dHBzOi8vY2kuZ3Jhdml0ZWUuaW8vYnVpbGRTdGF0dXMvaWNvbj9qb2I9Z3Jhdml0ZWUtaW8vZ3Jhdml0ZWUtcG9saWN5LXJhdGVsaW1pdC9tYXN0ZXJbXCJCdWlsZCBzdGF0dXNcIiwgbGluaz1cImh0dHBzOi8vY2kuZ3Jhdml0ZWUuaW8vam9iL2dyYXZpdGVlLWlvL2pvYi9ncmF2aXRlZS1wb2xpY3ktcmF0ZWxpbWl0L1wiXVxuaW1hZ2U6aHR0cHM6Ly9iYWRnZXMuZ2l0dGVyLmltL0pvaW4gQ2hhdC5zdmdbXCJHaXR0ZXJcIiwgbGluaz1cImh0dHBzOi8vZ2l0dGVyLmltL2dyYXZpdGVlLWlvL2dyYXZpdGVlLWlvP3V0bV9zb3VyY2U9YmFkZ2UmdXRtX21lZGl1bT1iYWRnZSZ1dG1fY2FtcGFpZ249cHItYmFkZ2UmdXRtX2NvbnRlbnQ9YmFkZ2VcIl1cbmVuZGlmOjpbXVxuXG49PSBQaGFzZVxuXG58PT09XG58b25SZXF1ZXN0IHxvblJlc3BvbnNlXG5cbnwgWFxufFxuXG58PT09XG5cbj09IERlc2NyaXB0aW9uXG5cblRoZXJlIGFyZSB0aHJlZSBcXGByYXRlLWxpbWl0XFxgIHBvbGljaWVzOlxuXG4qIFF1b3RhOiBjb25maWd1cmVzIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgYWxsb3dlZCBvdmVyIGEgcGVyaW9kIG9mIHRpbWUgKGhvdXJzLCBkYXlzLCB3ZWVrcywgbW9udGhzKVxuKiBSYXRlLUxpbWl0OiBjb25maWd1cmVzIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgYWxsb3dlZCBvdmVyIGEgbGltaXRlZCBwZXJpb2Qgb2YgdGltZSAoc2Vjb25kcywgbWludXRlcylcbiogU3Bpa2UtQXJyZXN0OiB0aHJvdHRsZXMgdGhlIG51bWJlciBvZiByZXF1ZXN0cyBwcm9jZXNzZWQgYW5kIHNlbmRzIHRoZW0gdG8gdGhlIGJhY2tlbmQgdG8gYXZvaWQgYSBzcGlrZVxuXG49PSBDb25maWd1cmF0aW9uXG5cbllvdSBjYW4gY29uZmlndXJlIHRoZSBwb2xpY2llcyB3aXRoIHRoZSBmb2xsb3dpbmcgb3B0aW9uczpcblxuPT09IFF1b3RhXG5cblRoZSBRdW90YSBwb2xpY3kgY29uZmlndXJlcyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIGFsbG93ZWQgb3ZlciBhIGxhcmdlIHBlcmlvZCBvZiB0aW1lIChmcm9tIGhvdXJzIHRvIG1vbnRocykuXG5UaGlzIHBvbGljeSBkb2VzIG5vdCBwcmV2ZW50IHJlcXVlc3Qgc3Bpa2VzLlxuXG58PT09XG58UHJvcGVydHkgfFJlcXVpcmVkIHxEZXNjcmlwdGlvbiB8VHlwZSB8RGVmYXVsdFxuXG58a2V5XG58Tm9cbnxLZXkgdG8gaWRlbnRpZnkgYSBjb25zdW1lciB0byBhcHBseSB0aGUgcXVvdGEgYWdhaW5zdC4gTGVhdmUgaXQgZW1wdHkgdG8gYXBwbHkgdGhlIGRlZmF1bHQgYmVoYXZpb3IgKHBsYW4vc3Vic2NyaXB0aW9uIHBhaXIpLiBTdXBwb3J0cyBFeHByZXNzaW9uIExhbmd1YWdlLlxufFN0cmluZ1xufG51bGxcblxufGxpbWl0XG58Tm9cbnxTdGF0aWMgbGltaXQgb24gdGhlIG51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGNhbiBiZSBzZW50ICh0aGlzIGxpbWl0IGlzIHVzZWQgaWYgdGhlIHZhbHVlID4gMCkuXG58aW50ZWdlclxufDBcblxufGR5bmFtaWNMaW1pdFxufE5vXG58RHluYW1pYyBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIHNlbnQgKHRoaXMgbGltaXQgaXMgdXNlZCBpZiBzdGF0aWMgbGltaXQgPSAwKS4gVGhlIGR5bmFtaWMgdmFsdWUgaXMgYmFzZWQgb24gRXhwcmVzc2lvbiBMYW5ndWFnZSBleHByZXNzaW9ucy5cbnxzdHJpbmdcbnxudWxsXG5cbnxwZXJpb2RUaW1lXG58WWVzXG58VGltZSBkdXJhdGlvblxufEludGVnZXJcbnwxXG5cbnxwZXJpb2RUaW1lVW5pdFxufFllc1xufFRpbWUgdW5pdCAoXFxgSE9VUlNcXGAsIFxcYERBWVNcXGAsIFxcYFdFRUtTXFxgLCBcXGBNT05USFNcXGApXG58U3RyaW5nXG58TU9OVEhTXG5cbnw9PT1cblxuPT09PSBDb25maWd1cmF0aW9uIGV4YW1wbGVcblxuW3NvdXJjZSwganNvbl1cbi0tLS1cbiAgXCJxdW90YVwiOiB7XG4gICAgXCJsaW1pdFwiOiBcIjEwMDBcIixcbiAgICBcInBlcmlvZFRpbWVcIjogMSxcbiAgICBcInBlcmlvZFRpbWVVbml0XCI6IFwiTU9OVEhTXCJcbiAgfVxuLS0tLVxuXG49PT0gUmF0ZS1MaW1pdFxuXG5UaGUgUmF0ZS1MaW1pdCBwb2xpY3kgY29uZmlndXJlcyB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIGFsbG93IG92ZXIgYSBsaW1pdGVkIHBlcmlvZCBvZiB0aW1lIChmcm9tIHNlY29uZHMgdG8gbWludXRlcykuXG5UaGlzIHBvbGljeSBkb2VzIG5vdCBwcmV2ZW50IHJlcXVlc3Qgc3Bpa2VzLlxuXG58PT09XG58UHJvcGVydHkgfFJlcXVpcmVkIHxEZXNjcmlwdGlvbiB8VHlwZSB8RGVmYXVsdFxuXG58a2V5XG58Tm9cbnxLZXkgdG8gaWRlbnRpZnkgYSBjb25zdW1lciB0byBhcHBseSByYXRlLWxpbWl0aW5nIGFnYWluc3QuIExlYXZlIGl0IGVtcHR5IHRvIHVzZSB0aGUgZGVmYXVsdCBiZWhhdmlvciAocGxhbi9zdWJzY3JpcHRpb24gcGFpcikuIFN1cHBvcnRzIEV4cHJlc3Npb24gTGFuZ3VhZ2UuXG58U3RyaW5nXG58bnVsbFxuXG58bGltaXRcbnxOb1xufFN0YXRpYyBsaW1pdCBvbiB0aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRoYXQgY2FuIGJlIHNlbnQgKHRoaXMgbGltaXQgaXMgdXNlZCBpZiB0aGUgdmFsdWUgPiAwKS5cbnxpbnRlZ2VyXG58MFxuXG58ZHluYW1pY0xpbWl0XG58Tm9cbnxEeW5hbWljIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBjYW4gYmUgc2VudCAodGhpcyBsaW1pdCBpcyB1c2VkIGlmIHN0YXRpYyBsaW1pdCA9IDApLiBUaGUgZHluYW1pYyB2YWx1ZSBpcyBiYXNlZCBvbiBFeHByZXNzaW9uIExhbmd1YWdlIGV4cHJlc3Npb25zLlxufHN0cmluZ1xufG51bGxcblxufHBlcmlvZFRpbWVcbnxZZXNcbnxUaW1lIGR1cmF0aW9uXG58SW50ZWdlclxufDFcblxufHBlcmlvZFRpbWVVbml0XG58WWVzXG58VGltZSB1bml0IChcIlNFQ09ORFNcIiwgXCJNSU5VVEVTXCIgKVxufFN0cmluZ1xufFNFQ09ORFNcblxufD09PVxuXG49PT09IENvbmZpZ3VyYXRpb24gZXhhbXBsZVxuXG5bc291cmNlLCBqc29uXVxuLS0tLVxuICBcInJhdGVcIjoge1xuICAgIFwibGltaXRcIjogXCIxMFwiLFxuICAgIFwicGVyaW9kVGltZVwiOiAxMCxcbiAgICBcInBlcmlvZFRpbWVVbml0XCI6IFwiTUlOVVRFU1wiXG4gIH1cbi0tLS1cblxuPT09IFNwaWtlIEFycmVzdFxuXG5UaGUgU3Bpa2UtQXJyZXN0IHBvbGljeSBjb25maWd1cmVzIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgYWxsb3cgb3ZlciBhIGxpbWl0ZWQgcGVyaW9kIG9mIHRpbWUgKGZyb20gc2Vjb25kcyB0byBtaW51dGVzKS5cblRoaXMgcG9saWN5IHByZXZlbnRzIHJlcXVlc3Qgc3Bpa2VzIGJ5IHRocm90dGxpbmcgaW5jb21pbmcgcmVxdWVzdHMuXG5Gb3IgZXhhbXBsZSwgYSBTcGlrZUFycmVzdCBwb2xpY3kgY29uZmlndXJlZCB0byAyMDAwIHJlcXVlc3RzL3NlY29uZCB3aWxsIGxpbWl0IHRoZSBleGVjdXRpb24gb2Ygc2ltdWx0YW5lb3VzIHJlcXVlc3RzIHRvIDIwMCByZXF1ZXN0cyBwZXIgMTAwbXMuXG5cbkJ5IGRlZmF1bHQsIHRoZSBTcGlrZUFycmVzdCBwb2xpY3kgaXMgYXBwbGllZCB0byBhIHBsYW4sIG5vdCBhIGNvbnN1bWVyLiBUbyBhcHBseSBhIHNwaWtlIGFycmVzdCB0byBhIGNvbnN1bWVyLCB5b3UgbmVlZCB0byB1c2UgdGhlIFxcYGtleVxcYCBhdHRyaWJ1dGUsIHdoaWNoIHN1cHBvcnRzIEV4cHJlc3Npb24gTGFuZ3VhZ2UuXG5cbnw9PT1cbnxQcm9wZXJ0eSB8UmVxdWlyZWQgfERlc2NyaXB0aW9uIHxUeXBlIHxEZWZhdWx0XG5cbnxrZXlcbnxOb1xufEtleSB0byBpZGVudGlmeSBhIGNvbnN1bWVyIHRvIGFwcGx5IHNwaWtlIGFycmVzdGluZyBhZ2FpbnN0LiBMZWF2ZSBpdCBlbXB0eSB0byB1c2UgdGhlIGRlZmF1bHQgYmVoYXZpb3IuIFN1cHBvcnRzIEV4cHJlc3Npb24gTGFuZ3VhZ2UgKGV4YW1wbGU6IFxcYHsjcmVxdWVzdC5oZWFkZXJzWyd4LWNvbnN1bWVyLWlkJ119XFxgKS5cbnxTdHJpbmdcbnxudWxsXG5cbnxsaW1pdFxufE5vXG58U3RhdGljIGxpbWl0IG9uIHRoZSBudW1iZXIgb2YgcmVxdWVzdHMgdGhhdCBjYW4gYmUgc2VudCAodGhpcyBsaW1pdCBpcyB1c2VkIGlmIHRoZSB2YWx1ZSA+IDApLlxufGludGVnZXJcbnwwXG5cbnxkeW5hbWljTGltaXRcbnxOb1xufER5bmFtaWMgbGltaXQgb24gdGhlIG51bWJlciBvZiByZXF1ZXN0cyB0aGF0IGNhbiBiZSBzZW50ICh0aGlzIGxpbWl0IGlzIHVzZWQgaWYgc3RhdGljIGxpbWl0ID0gMCkuIFRoZSBkeW5hbWljIHZhbHVlIGlzIGJhc2VkIG9uIEV4cHJlc3Npb24gTGFuZ3VhZ2UgZXhwcmVzc2lvbnMuXG58c3RyaW5nXG58bnVsbFxuXG58cGVyaW9kVGltZVxufFllc1xufFRpbWUgZHVyYXRpb25cbnxJbnRlZ2VyXG58MVxuXG58cGVyaW9kVGltZVVuaXRcbnxZZXNcbnxUaW1lIHVuaXQgKFxcYFNFQ09ORFNcXGAsIFxcYE1JTlVURVNcXGApXG58U3RyaW5nXG58U0VDT05EU1xuXG58PT09XG5cbj09PT0gQ29uZmlndXJhdGlvbiBleGFtcGxlXG5cbltzb3VyY2UsIGpzb25dXG4tLS0tXG4gIFwic3Bpa2VcIjoge1xuICAgIFwibGltaXRcIjogXCIxMFwiLFxuICAgIFwicGVyaW9kVGltZVwiOiAxMCxcbiAgICBcInBlcmlvZFRpbWVVbml0XCI6IFwiTUlOVVRFU1wiXG4gIH1cbi0tLS1cblxuPT0gRXJyb3JzXG5cbj09PSBEZWZhdWx0IHJlc3BvbnNlIG92ZXJyaWRlXG5cbllvdSBjYW4gdXNlIHRoZSByZXNwb25zZSB0ZW1wbGF0ZSBmZWF0dXJlIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IHJlc3BvbnNlIHByb3ZpZGVkIGJ5IHRoZSBwb2xpY2llcy4gVGhlc2UgdGVtcGxhdGVzIG11c3QgYmUgZGVmaW5lZCBhdCB0aGUgQVBJIGxldmVsIChzZWUgdGhlIEFQSSBDb25zb2xlICpSZXNwb25zZSBUZW1wbGF0ZXMqXG5vcHRpb24gaW4gdGhlIEFQSSAqUHJveHkqIG1lbnUpLlxuXG49PT0gRXJyb3Iga2V5c1xuXG5UaGUgZXJyb3Iga2V5cyBzZW50IGJ5IHRoZXNlIHBvbGljaWVzIGFyZSBhcyBmb2xsb3dzOlxuXG5bY29scz1cIjIqXCIsIG9wdGlvbnM9XCJoZWFkZXJcIl1cbnw9PT1cbl58S2V5XG5efFBhcmFtZXRlcnNcblxuLl58UkFURV9MSU1JVF9UT09fTUFOWV9SRVFVRVNUU1xuXi5efGxpbWl0IC0gcGVyaW9kX3RpbWUgLSBwZXJpb2RfdW5pdFxuXG4uXnxRVU9UQV9UT09fTUFOWV9SRVFVRVNUU1xuXi5efGxpbWl0IC0gcGVyaW9kX3RpbWUgLSBwZXJpb2RfdW5pdFxuXG4uXnxTUElLRV9BUlJFU1RfVE9PX01BTllfUkVRVUVTVFNcbl4uXnxsaW1pdCAtIHBlcmlvZF90aW1lIC0gcGVyaW9kX3VuaXQgLSBzbGljZV9saW1pdCAtIHNsaWNlX3BlcmlvZF90aW1lIC0gc2xpY2VfbGltaXRfcGVyaW9kX3VuaXRcblxufD09PVxuYDtcblxuICByZXR1cm4gYXR0cmlidXRlcyA/PyBiYXNlO1xufVxuIl19
@@ -0,0 +1,18 @@
1
+ export function fakePolicyListItem(attributes) {
2
+ const base = {
3
+ category: 'transformation',
4
+ description: 'Description of the JSON to JSON Transformation Gravitee Policy',
5
+ icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOi0wLjAxZW07fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJBUEkiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLjM1LDEzLjM3YTQzLDQzLDAsMSwwLDQzLjA1LDQzQTQzLDQzLDAsMCwwLDUwLjM1LDEzLjM3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTYzLjgsNzcuMDlhNC44Myw0LjgzLDAsMSwxLDMuNjktNy45Miw0Ljc0LDQuNzQsMCwwLDEsMS4xMywzLjA5QTQuODMsNC44MywwLDAsMSw2My44LDc3LjA5Wm0wLTcuOTNhMy4xMSwzLjExLDAsMSwwLDIuMzgsMS4xMkEzLjEsMy4xLDAsMCwwLDYzLjgsNjkuMTZaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw0My42OGE0Ljg1LDQuODUsMCwwLDEtNC43Ny00LjE0LDUsNSwwLDAsMSwwLS42OSw0LjgzLDQuODMsMCwwLDEsOS42NSwwLDMuNDUsMy40NSwwLDAsMS0uMDcuNzRBNC44MSw0LjgxLDAsMCwxLDUxLjUsNDMuNjhabTAtNy45M2EzLjEsMy4xLDAsMCwwLTMuMSwzLjEsMy4yNSwzLjI1LDAsMCwwLDAsLjQ0LDMuMSwzLjEsMCwwLDAsNi4xNCwwLDIuNjYsMi42NiwwLDAsMCwwLS40NUEzLjExLDMuMTEsMCwwLDAsNTEuNSwzNS43NVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zMy42NCw3MC4xNWE0LjgzLDQuODMsMCwwLDEtMS4zNy05LjQ2LDUsNSwwLDAsMSwxLjM3LS4xOSw0LjgyLDQuODIsMCwwLDEsNC44Miw0LjgyLDQuODcsNC44NywwLDAsMS0yLjcxLDQuMzVBNC43Myw0LjczLDAsMCwxLDMzLjY0LDcwLjE1Wm0wLTcuOTNhMywzLDAsMCwwLS44OS4xMywzLjEsMy4xLDAsMCwwLC44OSw2LjA4QTMsMywwLDAsMCwzNSw2OC4xMmEzLjExLDMuMTEsMCwwLDAtMS4zNS01LjlaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzIuMTgsNTYuMzVoLS4xMmEuODcuODcsMCwwLDEtLjczLTFBMjAuNDcsMjAuNDcsMCwwLDEsNDIsNDAuMzNhLjg2Ljg2LDAsMSwxLC44LDEuNTJBMTguNzcsMTguNzcsMCwwLDAsMzMsNTUuNjEuODYuODYsMCwwLDEsMzIuMTgsNTYuMzVaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw3OC43OWEyMC4xNywyMC4xNywwLDAsMS0xMi4yNy00LjExLjg2Ljg2LDAsMCwxLS4xNy0xLjIxLjg1Ljg1LDAsMCwxLDEuMi0uMTZBMTguNTIsMTguNTIsMCwwLDAsNTEuNSw3Ny4wNywxOC4yMywxOC4yMywwLDAsMCw1NSw3Ni43M2EuODcuODcsMCwwLDEsLjMzLDEuN0EyMC44NywyMC44NywwLDAsMSw1MS41LDc4Ljc5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTcwLDY1LjQyYS44NC44NCwwLDAsMS0uMjcsMCwuODYuODYsMCwwLDEtLjU0LTEuMDksMTguNzEsMTguNzEsMCwwLDAtOC41NS0yMi4xNy44Ni44NiwwLDEsMSwuODUtMS41LDIwLjQyLDIwLjQyLDAsMCwxLDkuMzMsMjQuMjFBLjg3Ljg3LDAsMCwxLDcwLDY1LjQyWiIvPjwvZz48ZyBpZD0iSE9TVElORyI+PHRleHQgY2xhc3M9ImNscy0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy45MyAtNC45OCkiPkpTT04gPHRzcGFuIGNsYXNzPSJjbHMtNCIgeD0iMjkuMDYiIHk9IjAiPnQ8L3RzcGFuPjx0c3BhbiB4PSIzMi45NiIgeT0iMCI+byBKU09OPC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==',
6
+ id: 'json-to-json',
7
+ name: 'JSON to JSON Transformation',
8
+ onRequest: true,
9
+ onResponse: true,
10
+ schema: '{\n "type" : "object",\n "id" : "urn:jsonschema:io:gravitee:policy:json2json:configuration:JsonToJsonTransformationPolicyConfiguration",\n "properties" : {\n "scope" : {\n "title": "Scope",\n "description": "Execute policy on <strong>request</strong> or <strong>response</strong> phase.",\n "type" : "string",\n "default": "REQUEST",\n "enum" : [ "REQUEST", "RESPONSE" ],\n "deprecated": "true"\n },\n "overrideContentType" : {\n "title": "Override the Content-Type",\n "description": "Enforce the Content-Type: application/json",\n "type" : "boolean",\n "default": true\n },\n "specification" : {\n "title": "JOLT specification",\n "type" : "string",\n "x-schema-form": {\n "type": "codemirror",\n "codemirrorOptions": {\n "placeholder": "Place your JOLT specification here or drag\'n\'drop your JOLT specification file",\n "lineWrapping": true,\n "lineNumbers": true,\n "allowDropFileTypes": true,\n "autoCloseTags": true,\n "mode": "javascript"\n },\n "expression-language": true\n }\n }\n },\n "required": [\n "specification"\n ]\n}\n',
11
+ version: '1.6.0',
12
+ };
13
+ return {
14
+ ...base,
15
+ ...attributes,
16
+ };
17
+ }
18
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9saWN5TGlzdEl0ZW0uZml4dHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3VpLXBvbGljeS1zdHVkaW8tYW5ndWxhci9zcmMvbGliL21vZGVscy9wb2xpY3kvUG9saWN5TGlzdEl0ZW0uZml4dHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFpQkEsTUFBTSxVQUFVLGtCQUFrQixDQUFDLFVBQW9DO0lBQ3JFLE1BQU0sSUFBSSxHQUFtQjtRQUMzQixRQUFRLEVBQUUsZ0JBQWdCO1FBQzFCLFdBQVcsRUFBRSxnRUFBZ0U7UUFDN0UsSUFBSSxFQUFFLG8yRUFBbzJFO1FBQzEyRSxFQUFFLEVBQUUsY0FBYztRQUNsQixJQUFJLEVBQUUsNkJBQTZCO1FBQ25DLFNBQVMsRUFBRSxJQUFJO1FBQ2YsVUFBVSxFQUFFLElBQUk7UUFDaEIsTUFBTSxFQUNKLG1zQ0FBbXNDO1FBQ3JzQyxPQUFPLEVBQUUsT0FBTztLQUNqQixDQUFDO0lBRUYsT0FBTztRQUNMLEdBQUcsSUFBSTtRQUNQLEdBQUcsVUFBVTtLQUNkLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IFBvbGljeUxpc3RJdGVtIH0gZnJvbSAnLi9Qb2xpY3lMaXN0SXRlbSc7XG5cbmV4cG9ydCBmdW5jdGlvbiBmYWtlUG9saWN5TGlzdEl0ZW0oYXR0cmlidXRlcz86IFBhcnRpYWw8UG9saWN5TGlzdEl0ZW0+KTogUG9saWN5TGlzdEl0ZW0ge1xuICBjb25zdCBiYXNlOiBQb2xpY3lMaXN0SXRlbSA9IHtcbiAgICBjYXRlZ29yeTogJ3RyYW5zZm9ybWF0aW9uJyxcbiAgICBkZXNjcmlwdGlvbjogJ0Rlc2NyaXB0aW9uIG9mIHRoZSBKU09OIHRvIEpTT04gVHJhbnNmb3JtYXRpb24gR3Jhdml0ZWUgUG9saWN5JyxcbiAgICBpY29uOiAnZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhNREF1TnpFZ01URXlMamd5SWo0OFpHVm1jejQ4YzNSNWJHVStMbU5zY3kweGUyWnBiR3c2SXpnMll6TmtNRHQ5TG1Oc2N5MHllMlpwYkd3NkkyWm1aanQ5TG1Oc2N5MHplMlp2Ym5RdGMybDZaVG94TW5CNE8yWnBiR3c2SXpGa01XUXhZanRtYjI1MExXWmhiV2xzZVRwTmVYSnBZV1JRY204dFVtVm5kV3hoY2l3Z1RYbHlhV0ZrSUZCeWJ6dDlMbU5zY3kwMGUyeGxkSFJsY2kxemNHRmphVzVuT2kwd0xqQXhaVzA3ZlR3dmMzUjViR1UrUEM5a1pXWnpQanhuSUdsa1BTSkJVRWtpUGp4d1lYUm9JR05zWVhOelBTSmpiSE10TVNJZ1pEMGlUVFV3TGpNMUxERXpMak0zWVRRekxEUXpMREFzTVN3d0xEUXpMakExTERRelFUUXpMRFF6TERBc01Dd3dMRFV3TGpNMUxERXpMak0zV2lJdlBqeHdZWFJvSUdOc1lYTnpQU0pqYkhNdE1pSWdaRDBpVFRZekxqZ3NOemN1TURsaE5DNDRNeXcwTGpnekxEQXNNU3d4TERNdU5qa3ROeTQ1TWl3MExqYzBMRFF1TnpRc01Dd3dMREVzTVM0eE15d3pMakE1UVRRdU9ETXNOQzQ0TXl3d0xEQXNNU3cyTXk0NExEYzNMakE1V20wd0xUY3VPVE5oTXk0eE1Td3pMakV4TERBc01Td3dMREl1TXpnc01TNHhNa0V6TGpFc015NHhMREFzTUN3d0xEWXpMamdzTmprdU1UWmFJaTgrUEhCaGRHZ2dZMnhoYzNNOUltTnNjeTB5SWlCa1BTSk5OVEV1TlN3ME15NDJPR0UwTGpnMUxEUXVPRFVzTUN3d0xERXROQzQzTnkwMExqRTBMRFVzTlN3d0xEQXNNU3d3TFM0Mk9TdzBMamd6TERRdU9ETXNNQ3d3TERFc09TNDJOU3d3TERNdU5EVXNNeTQwTlN3d0xEQXNNUzB1TURjdU56UkJOQzQ0TVN3MExqZ3hMREFzTUN3eExEVXhMalVzTkRNdU5qaGFiVEF0Tnk0NU0yRXpMakVzTXk0eExEQXNNQ3d3TFRNdU1Td3pMakVzTXk0eU5Td3pMakkxTERBc01Dd3dMREFzTGpRMExETXVNU3d6TGpFc01Dd3dMREFzTmk0eE5Dd3dMREl1TmpZc01pNDJOaXd3TERBc01Dd3dMUzQwTlVFekxqRXhMRE11TVRFc01Dd3dMREFzTlRFdU5Td3pOUzQzTlZvaUx6NDhjR0YwYUNCamJHRnpjejBpWTJ4ekxUSWlJR1E5SWswek15NDJOQ3czTUM0eE5XRTBMamd6TERRdU9ETXNNQ3d3TERFdE1TNHpOeTA1TGpRMkxEVXNOU3d3TERBc01Td3hMak0zTFM0eE9TdzBMamd5TERRdU9ESXNNQ3d3TERFc05DNDRNaXcwTGpneUxEUXVPRGNzTkM0NE55d3dMREFzTVMweUxqY3hMRFF1TXpWQk5DNDNNeXcwTGpjekxEQXNNQ3d4TERNekxqWTBMRGN3TGpFMVdtMHdMVGN1T1ROaE15d3pMREFzTUN3d0xTNDRPUzR4TXl3ekxqRXNNeTR4TERBc01Dd3dMQzQ0T1N3MkxqQTRRVE1zTXl3d0xEQXNNQ3d6TlN3Mk9DNHhNbUV6TGpFeExETXVNVEVzTUN3d0xEQXRNUzR6TlMwMUxqbGFJaTgrUEhCaGRHZ2dZMnhoYzNNOUltTnNjeTB5SWlCa1BTSk5Nekl1TVRnc05UWXVNelZvTFM0eE1tRXVPRGN1T0Rjc01Dd3dMREV0TGpjekxURkJNakF1TkRjc01qQXVORGNzTUN3d0xERXNORElzTkRBdU16TmhMamcyTGpnMkxEQXNNU3d4TEM0NExERXVOVEpCTVRndU56Y3NNVGd1Tnpjc01Dd3dMREFzTXpNc05UVXVOakV1T0RZdU9EWXNNQ3d3TERFc016SXVNVGdzTlRZdU16VmFJaTgrUEhCaGRHZ2dZMnhoYzNNOUltTnNjeTB5SWlCa1BTSk5OVEV1TlN3M09DNDNPV0V5TUM0eE55d3lNQzR4Tnl3d0xEQXNNUzB4TWk0eU55MDBMakV4TGpnMkxqZzJMREFzTUN3eExTNHhOeTB4TGpJeExqZzFMamcxTERBc01Dd3hMREV1TWkwdU1UWkJNVGd1TlRJc01UZ3VOVElzTUN3d0xEQXNOVEV1TlN3M055NHdOeXd4T0M0eU15d3hPQzR5TXl3d0xEQXNNQ3cxTlN3M05pNDNNMkV1T0RjdU9EY3NNQ3d3TERFc0xqTXpMREV1TjBFeU1DNDROeXd5TUM0NE55d3dMREFzTVN3MU1TNDFMRGM0TGpjNVdpSXZQanh3WVhSb0lHTnNZWE56UFNKamJITXRNaUlnWkQwaVRUY3dMRFkxTGpReVlTNDROQzQ0TkN3d0xEQXNNUzB1TWpjc01Dd3VPRFl1T0RZc01Dd3dMREV0TGpVMExURXVNRGtzTVRndU56RXNNVGd1TnpFc01Dd3dMREF0T0M0MU5TMHlNaTR4Tnk0NE5pNDROaXd3TERFc01Td3VPRFV0TVM0MUxESXdMalF5TERJd0xqUXlMREFzTUN3eExEa3VNek1zTWpRdU1qRkJMamczTGpnM0xEQXNNQ3d4TERjd0xEWTFMalF5V2lJdlBqd3ZaejQ4WnlCcFpEMGlTRTlUVkVsT1J5SStQSFJsZUhRZ1kyeGhjM005SW1Oc2N5MHpJaUIwY21GdWMyWnZjbTA5SW5SeVlXNXpiR0YwWlNneE55NDVNeUF0TkM0NU9Da2lQa3BUVDA0Z1BIUnpjR0Z1SUdOc1lYTnpQU0pqYkhNdE5DSWdlRDBpTWprdU1EWWlJSGs5SWpBaVBuUThMM1J6Y0dGdVBqeDBjM0JoYmlCNFBTSXpNaTQ1TmlJZ2VUMGlNQ0krYnlCS1UwOU9QQzkwYzNCaGJqNDhMM1JsZUhRK1BDOW5Qand2YzNablBnPT0nLFxuICAgIGlkOiAnanNvbi10by1qc29uJyxcbiAgICBuYW1lOiAnSlNPTiB0byBKU09OIFRyYW5zZm9ybWF0aW9uJyxcbiAgICBvblJlcXVlc3Q6IHRydWUsXG4gICAgb25SZXNwb25zZTogdHJ1ZSxcbiAgICBzY2hlbWE6XG4gICAgICAne1xcbiAgXCJ0eXBlXCIgOiBcIm9iamVjdFwiLFxcbiAgXCJpZFwiIDogXCJ1cm46anNvbnNjaGVtYTppbzpncmF2aXRlZTpwb2xpY3k6anNvbjJqc29uOmNvbmZpZ3VyYXRpb246SnNvblRvSnNvblRyYW5zZm9ybWF0aW9uUG9saWN5Q29uZmlndXJhdGlvblwiLFxcbiAgXCJwcm9wZXJ0aWVzXCIgOiB7XFxuICAgIFwic2NvcGVcIiA6IHtcXG4gICAgICBcInRpdGxlXCI6IFwiU2NvcGVcIixcXG4gICAgICBcImRlc2NyaXB0aW9uXCI6IFwiRXhlY3V0ZSBwb2xpY3kgb24gPHN0cm9uZz5yZXF1ZXN0PC9zdHJvbmc+IG9yIDxzdHJvbmc+cmVzcG9uc2U8L3N0cm9uZz4gcGhhc2UuXCIsXFxuICAgICAgXCJ0eXBlXCIgOiBcInN0cmluZ1wiLFxcbiAgICAgIFwiZGVmYXVsdFwiOiBcIlJFUVVFU1RcIixcXG4gICAgICBcImVudW1cIiA6IFsgXCJSRVFVRVNUXCIsIFwiUkVTUE9OU0VcIiBdLFxcbiAgICAgIFwiZGVwcmVjYXRlZFwiOiBcInRydWVcIlxcbiAgICB9LFxcbiAgICBcIm92ZXJyaWRlQ29udGVudFR5cGVcIiA6IHtcXG4gICAgICBcInRpdGxlXCI6IFwiT3ZlcnJpZGUgdGhlIENvbnRlbnQtVHlwZVwiLFxcbiAgICAgIFwiZGVzY3JpcHRpb25cIjogXCJFbmZvcmNlIHRoZSBDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb25cIixcXG4gICAgICBcInR5cGVcIiA6IFwiYm9vbGVhblwiLFxcbiAgICAgIFwiZGVmYXVsdFwiOiB0cnVlXFxuICAgIH0sXFxuICAgIFwic3BlY2lmaWNhdGlvblwiIDoge1xcbiAgICAgIFwidGl0bGVcIjogXCJKT0xUIHNwZWNpZmljYXRpb25cIixcXG4gICAgICBcInR5cGVcIiA6IFwic3RyaW5nXCIsXFxuICAgICAgXCJ4LXNjaGVtYS1mb3JtXCI6IHtcXG4gICAgICAgIFwidHlwZVwiOiBcImNvZGVtaXJyb3JcIixcXG4gICAgICAgIFwiY29kZW1pcnJvck9wdGlvbnNcIjoge1xcbiAgICAgICAgICBcInBsYWNlaG9sZGVyXCI6IFwiUGxhY2UgeW91ciBKT0xUIHNwZWNpZmljYXRpb24gaGVyZSBvciBkcmFnXFwnblxcJ2Ryb3AgeW91ciBKT0xUIHNwZWNpZmljYXRpb24gZmlsZVwiLFxcbiAgICAgICAgICBcImxpbmVXcmFwcGluZ1wiOiB0cnVlLFxcbiAgICAgICAgICBcImxpbmVOdW1iZXJzXCI6IHRydWUsXFxuICAgICAgICAgIFwiYWxsb3dEcm9wRmlsZVR5cGVzXCI6IHRydWUsXFxuICAgICAgICAgIFwiYXV0b0Nsb3NlVGFnc1wiOiB0cnVlLFxcbiAgICAgICAgICBcIm1vZGVcIjogXCJqYXZhc2NyaXB0XCJcXG4gICAgICAgIH0sXFxuICAgICAgICBcImV4cHJlc3Npb24tbGFuZ3VhZ2VcIjogdHJ1ZVxcbiAgICAgIH1cXG4gICAgfVxcbiAgfSxcXG4gIFwicmVxdWlyZWRcIjogW1xcbiAgICBcInNwZWNpZmljYXRpb25cIlxcbiAgXVxcbn1cXG4nLFxuICAgIHZlcnNpb246ICcxLjYuMCcsXG4gIH07XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlLFxuICAgIC4uLmF0dHJpYnV0ZXMsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,5 @@
1
+ export function fakePolicySchema(attributes) {
2
+ const base = 'A policy schema';
3
+ return attributes ?? base;
4
+ }
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUG9saWN5U2NoZW1hLmZpeHR1cmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS1wb2xpY3ktc3R1ZGlvLWFuZ3VsYXIvc3JjL2xpYi9tb2RlbHMvcG9saWN5L1BvbGljeVNjaGVtYS5maXh0dXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsVUFBeUI7SUFDeEQsTUFBTSxJQUFJLEdBQWlCLGlCQUFpQixDQUFDO0lBRTdDLE9BQU8sVUFBVSxJQUFJLElBQUksQ0FBQztBQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoQykgMjAxNSBUaGUgR3Jhdml0ZWUgdGVhbSAoaHR0cDovL2dyYXZpdGVlLmlvKVxuICpcbiAqIExpY2Vuc2VkIHVuZGVyIHRoZSBBcGFjaGUgTGljZW5zZSwgVmVyc2lvbiAyLjAgKHRoZSBcIkxpY2Vuc2VcIik7XG4gKiB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gKiBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcbiAqXG4gKiAgICAgICAgIGh0dHA6Ly93d3cuYXBhY2hlLm9yZy9saWNlbnNlcy9MSUNFTlNFLTIuMFxuICpcbiAqIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAqIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBMaWNlbnNlIGlzIGRpc3RyaWJ1dGVkIG9uIGFuIFwiQVMgSVNcIiBCQVNJUyxcbiAqIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICogU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICogbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuXG4gKi9cbmltcG9ydCB7IFBvbGljeVNjaGVtYSB9IGZyb20gJy4vUG9saWN5U2NoZW1hJztcblxuZXhwb3J0IGZ1bmN0aW9uIGZha2VQb2xpY3lTY2hlbWEoYXR0cmlidXRlcz86IFBvbGljeVNjaGVtYSk6IFBvbGljeVNjaGVtYSB7XG4gIGNvbnN0IGJhc2U6IFBvbGljeVNjaGVtYSA9ICdBIHBvbGljeSBzY2hlbWEnO1xuXG4gIHJldHVybiBhdHRyaWJ1dGVzID8/IGJhc2U7XG59XG4iXX0=