@gravitee/ui-policy-studio-angular 4.13.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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} +0 -0
  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} +0 -0
  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} +0 -0
  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} +0 -0
  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} +0 -0
  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} +0 -0
  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} +0 -0
  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} +0 -0
  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
@@ -25,14 +25,17 @@ function fakeFlowConfigurationSchema(attributes) {
25
25
  required: [],
26
26
  disabled: [],
27
27
  };
28
- return Object.assign(Object.assign({}, base), attributes);
28
+ return { ...base, ...attributes };
29
29
  }
30
30
 
31
31
  function fakeOrganizationFlowConfiguration(attributes) {
32
32
  const base = {
33
33
  has_policies: true,
34
34
  };
35
- return Object.assign(Object.assign({}, base), attributes);
35
+ return {
36
+ ...base,
37
+ ...attributes,
38
+ };
36
39
  }
37
40
 
38
41
  function fakePlatformFlowSchema(attributes) {
@@ -101,7 +104,7 @@ function fakePlatformFlowSchema(attributes) {
101
104
  required: [],
102
105
  disabled: [],
103
106
  };
104
- return Object.assign(Object.assign({}, base), attributes);
107
+ return { ...base, ...attributes };
105
108
  }
106
109
 
107
110
  /*
@@ -132,7 +135,10 @@ function fakePolicyListItem(attributes) {
132
135
  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',
133
136
  version: '1.6.0',
134
137
  };
135
- return Object.assign(Object.assign({}, base), attributes);
138
+ return {
139
+ ...base,
140
+ ...attributes,
141
+ };
136
142
  }
137
143
 
138
144
  function fakePolicyDocumentation(attributes) {
@@ -350,12 +356,12 @@ The error keys sent by these policies are as follows:
350
356
 
351
357
  |===
352
358
  `;
353
- return attributes !== null && attributes !== void 0 ? attributes : base;
359
+ return attributes ?? base;
354
360
  }
355
361
 
356
362
  function fakePolicySchema(attributes) {
357
363
  const base = 'A policy schema';
358
- return attributes !== null && attributes !== void 0 ? attributes : base;
364
+ return attributes ?? base;
359
365
  }
360
366
 
361
367
  /*
@@ -441,7 +447,7 @@ You can configure the resource with the following options :
441
447
  }
442
448
  }
443
449
  ----`;
444
- return attributes !== null && attributes !== void 0 ? attributes : base;
450
+ return attributes ?? base;
445
451
  }
446
452
 
447
453
  function fakeResourceListItem(attributes) {
@@ -453,7 +459,10 @@ function fakeResourceListItem(attributes) {
453
459
  schema: '{\n "type" : "object",\n "id" : "urn:jsonschema:io:gravitee:resource:cache:configuration:CacheResourceConfiguration",\n "properties" : {\n "name" : {\n "title": "Cache name",\n "description": "The name of the cache.",\n "type" : "string",\n "default": "my-cache"\n },\n "timeToIdleSeconds" : {\n "title": "Time to idle (in seconds)",\n "type" : "integer",\n "description": "The maximum number of seconds an element can exist in the cache without being accessed. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToIdle (TTI) eviction takes place (infinite lifetime).",\n "default": 0,\n "minimum": 0\n },\n "timeToLiveSeconds" : {\n "title": "Time to live (in seconds)",\n "type" : "integer",\n "description": "The maximum number of seconds an element can exist in the cache regardless of use. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToLive (TTL) eviction takes place (infinite lifetime).",\n "default": 0,\n "minimum": 0\n },\n "maxEntriesLocalHeap" : {\n "title": "Max entries on heap",\n "description": "The maximum objects to be held in local heap memory (0 = no limit).",\n "type" : "integer",\n "default": 1000,\n "minimum": 0\n }\n },\n "required": [\n "name",\n "timeToIdleSeconds",\n "timeToLiveSeconds",\n "maxEntriesLocalHeap",\n "timeToLiveSeconds"\n ]\n}\n',
454
460
  version: '1.6.1',
455
461
  };
456
- return Object.assign(Object.assign({}, base), attributes);
462
+ return {
463
+ ...base,
464
+ ...attributes,
465
+ };
457
466
  }
458
467
 
459
468
  /*
@@ -473,7 +482,10 @@ function fakeResourceListItem(attributes) {
473
482
  */
474
483
 
475
484
  function fakeGrammar(attributes) {
476
- return Object.assign(Object.assign({}, base), attributes);
485
+ return {
486
+ ...base,
487
+ ...attributes,
488
+ };
477
489
  }
478
490
  const base = {
479
491
  request: {
@@ -4226,9 +4238,9 @@ class FlowService extends FlowServiceAbstract {
4226
4238
  return of(fakeOrganizationFlowConfiguration());
4227
4239
  }
4228
4240
  }
4229
- FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4230
- FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService });
4231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: FlowService, decorators: [{
4241
+ FlowService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlowService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4242
+ FlowService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlowService });
4243
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: FlowService, decorators: [{
4232
4244
  type: Injectable
4233
4245
  }] });
4234
4246
 
@@ -4264,9 +4276,9 @@ class PolicyService extends PolicyServiceAbstract {
4264
4276
  return of(fakePolicyDocumentation()).pipe(map(buffer => buffer.toString()));
4265
4277
  }
4266
4278
  }
4267
- PolicyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PolicyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4268
- PolicyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PolicyService });
4269
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: PolicyService, decorators: [{
4279
+ PolicyService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PolicyService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4280
+ PolicyService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PolicyService });
4281
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: PolicyService, decorators: [{
4270
4282
  type: Injectable
4271
4283
  }] });
4272
4284
 
@@ -4296,9 +4308,9 @@ class ResourceService extends ResourceServiceAbstract {
4296
4308
  return of(fakeResourceDocumentation());
4297
4309
  }
4298
4310
  }
4299
- ResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ResourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4300
- ResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ResourceService });
4301
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: ResourceService, decorators: [{
4311
+ ResourceService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResourceService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4312
+ ResourceService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResourceService });
4313
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: ResourceService, decorators: [{
4302
4314
  type: Injectable
4303
4315
  }] });
4304
4316
 
@@ -4325,9 +4337,9 @@ class SpelService extends SpelServiceAbstract {
4325
4337
  return of(fakeGrammar());
4326
4338
  }
4327
4339
  }
4328
- SpelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SpelService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4329
- SpelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SpelService, providedIn: 'root' });
4330
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.15", ngImport: i0, type: SpelService, decorators: [{
4340
+ SpelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpelService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
4341
+ SpelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpelService, providedIn: 'root' });
4342
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: SpelService, decorators: [{
4331
4343
  type: Injectable,
4332
4344
  args: [{
4333
4345
  providedIn: 'root',
@@ -5697,4 +5709,4 @@ const apimPropertyProviders = _apimPropertyProviders;
5697
5709
  */
5698
5710
 
5699
5711
  export { FlowService, PolicyService, ResourceService, SpelService, apimDefinition, apimFlow, apimPolicies, apimPropertyProviders, apimResourceTypes, fakeFlowConfigurationSchema, fakeGrammar, fakeOrganizationFlowConfiguration, fakePlatformFlowSchema, fakePolicyDocumentation, fakePolicyListItem, fakePolicySchema, fakeResourceDocumentation, fakeResourceListItem };
5700
- //# sourceMappingURL=gravitee-ui-policy-studio-angular-testing.js.map
5712
+ //# sourceMappingURL=gravitee-ui-policy-studio-angular-testing.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gravitee-ui-policy-studio-angular-testing.mjs","sources":["../../../projects/ui-policy-studio-angular/src/lib/models/flow/ConfigurationSchema.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/flow/OrganizationFlowConfiguration.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/flow/PlatformFlowSchema.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/flow/index-testing.ts","../../../projects/ui-policy-studio-angular/src/lib/models/policy/PolicyListItem.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/policy/PolicyDocumentation.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/policy/PolicySchema.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/policy/index-testing.ts","../../../projects/ui-policy-studio-angular/src/lib/models/resource/ResourceDocumentation.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/resource/ResourceListItem.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/resource/index-testing.ts","../../../projects/ui-policy-studio-angular/src/lib/models/spel/Grammar.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/models/spel/index-testing.ts","../../../projects/ui-policy-studio-angular/src/lib/models/index-testing.ts","../../../projects/ui-policy-studio-angular/src/lib/services/flow.abstract.service.ts","../../../projects/ui-policy-studio-angular/src/lib/services/flow.service.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/services/policy.abstract.service.ts","../../../projects/ui-policy-studio-angular/src/lib/services/policy.service.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/services/resource.abstract.service.ts","../../../projects/ui-policy-studio-angular/src/lib/services/resource.service.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/services/spel.abstract.service.ts","../../../projects/ui-policy-studio-angular/src/lib/services/spel.service.fixture.ts","../../../projects/ui-policy-studio-angular/src/lib/services/index-testing.ts","../../../projects/ui-policy-studio-angular/src/testing/stories-resources/index.ts","../../../projects/ui-policy-studio-angular/src/testing/index.ts","../../../projects/ui-policy-studio-angular/src/public-testing-api.ts","../../../projects/ui-policy-studio-angular/src/gravitee-ui-policy-studio-angular-testing.ts"],"sourcesContent":["/*\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 */\nimport { FlowConfigurationSchema } from './ConfigurationSchema';\n\nexport function fakeFlowConfigurationSchema(attributes?: FlowConfigurationSchema): FlowConfigurationSchema {\n const base: FlowConfigurationSchema = {\n type: 'object',\n id: 'apim',\n properties: {\n flow_mode: {\n title: 'Flow Mode',\n description: 'The flow mode',\n type: 'string',\n enum: ['DEFAULT', 'BEST_MATCH'],\n default: 'DEFAULT',\n 'x-schema-form': {\n titleMap: {\n DEFAULT: 'Default',\n BEST_MATCH: 'Best match',\n },\n },\n },\n },\n required: [],\n disabled: [],\n };\n\n return { ...base, ...attributes };\n}\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 */\nimport { OrganizationFlowConfiguration } from './OrganizationFlowConfiguration';\n\nexport function fakeOrganizationFlowConfiguration(attributes?: Partial<OrganizationFlowConfiguration>): OrganizationFlowConfiguration {\n const base: OrganizationFlowConfiguration = {\n has_policies: true,\n };\n\n return {\n ...base,\n ...attributes,\n };\n}\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 */\nimport { PlatformFlowSchema } from './PlatformFlowSchema';\n\nexport function fakePlatformFlowSchema(attributes?: PlatformFlowSchema): PlatformFlowSchema {\n const base: PlatformFlowSchema = {\n type: 'object',\n id: 'apim',\n properties: {\n name: {\n title: 'Name',\n description: 'The name of flow. If empty, the name will be generated with the path and methods',\n type: 'string',\n },\n 'path-operator': {\n type: 'object',\n properties: {\n operator: {\n title: 'Operator path',\n description: 'The operator path',\n type: 'string',\n enum: ['EQUALS', 'STARTS_WITH'],\n default: 'STARTS_WITH',\n 'x-schema-form': {\n titleMap: {\n EQUALS: 'Equals',\n STARTS_WITH: 'Starts with',\n },\n },\n },\n path: {\n title: 'Path',\n description: 'The path of flow (must start by /)',\n type: 'string',\n pattern: '^/',\n default: '/',\n },\n },\n required: ['path', 'operator'],\n },\n methods: {\n title: 'Methods',\n description: 'The HTTP methods of flow (ALL if empty)',\n type: 'array',\n items: {\n type: 'string',\n enum: ['CONNECT', 'DELETE', 'GET', 'HEAD', 'OPTIONS', 'PATCH', 'POST', 'PUT', 'TRACE'],\n },\n },\n consumers: {\n title: 'Tags',\n description: 'The tags of flow.',\n type: 'array',\n items: {\n type: 'string',\n enum: [],\n },\n },\n condition: {\n title: 'Condition',\n description: 'The condition of the flow. Supports EL.',\n type: 'string',\n 'x-schema-form': {\n 'expression-language': true,\n },\n },\n },\n required: [],\n disabled: [],\n };\n return { ...base, ...attributes };\n}\n","/*\n * Copyright (C) 2022 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 */\nexport * from './ConfigurationSchema.fixture';\nexport * from './OrganizationFlowConfiguration.fixture';\nexport * from './PlatformFlowSchema.fixture';\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 */\nimport { PolicyListItem } from './PolicyListItem';\n\nexport function fakePolicyListItem(attributes?: Partial<PolicyListItem>): PolicyListItem {\n const base: PolicyListItem = {\n category: 'transformation',\n description: 'Description of the JSON to JSON Transformation Gravitee Policy',\n icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZpbGw6Izg2YzNkMDt9LmNscy0ye2ZpbGw6I2ZmZjt9LmNscy0ze2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy00e2xldHRlci1zcGFjaW5nOi0wLjAxZW07fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJBUEkiPjxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTUwLjM1LDEzLjM3YTQzLDQzLDAsMSwwLDQzLjA1LDQzQTQzLDQzLDAsMCwwLDUwLjM1LDEzLjM3WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTYzLjgsNzcuMDlhNC44Myw0LjgzLDAsMSwxLDMuNjktNy45Miw0Ljc0LDQuNzQsMCwwLDEsMS4xMywzLjA5QTQuODMsNC44MywwLDAsMSw2My44LDc3LjA5Wm0wLTcuOTNhMy4xMSwzLjExLDAsMSwwLDIuMzgsMS4xMkEzLjEsMy4xLDAsMCwwLDYzLjgsNjkuMTZaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw0My42OGE0Ljg1LDQuODUsMCwwLDEtNC43Ny00LjE0LDUsNSwwLDAsMSwwLS42OSw0LjgzLDQuODMsMCwwLDEsOS42NSwwLDMuNDUsMy40NSwwLDAsMS0uMDcuNzRBNC44MSw0LjgxLDAsMCwxLDUxLjUsNDMuNjhabTAtNy45M2EzLjEsMy4xLDAsMCwwLTMuMSwzLjEsMy4yNSwzLjI1LDAsMCwwLDAsLjQ0LDMuMSwzLjEsMCwwLDAsNi4xNCwwLDIuNjYsMi42NiwwLDAsMCwwLS40NUEzLjExLDMuMTEsMCwwLDAsNTEuNSwzNS43NVoiLz48cGF0aCBjbGFzcz0iY2xzLTIiIGQ9Ik0zMy42NCw3MC4xNWE0LjgzLDQuODMsMCwwLDEtMS4zNy05LjQ2LDUsNSwwLDAsMSwxLjM3LS4xOSw0LjgyLDQuODIsMCwwLDEsNC44Miw0LjgyLDQuODcsNC44NywwLDAsMS0yLjcxLDQuMzVBNC43Myw0LjczLDAsMCwxLDMzLjY0LDcwLjE1Wm0wLTcuOTNhMywzLDAsMCwwLS44OS4xMywzLjEsMy4xLDAsMCwwLC44OSw2LjA4QTMsMywwLDAsMCwzNSw2OC4xMmEzLjExLDMuMTEsMCwwLDAtMS4zNS01LjlaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNMzIuMTgsNTYuMzVoLS4xMmEuODcuODcsMCwwLDEtLjczLTFBMjAuNDcsMjAuNDcsMCwwLDEsNDIsNDAuMzNhLjg2Ljg2LDAsMSwxLC44LDEuNTJBMTguNzcsMTguNzcsMCwwLDAsMzMsNTUuNjEuODYuODYsMCwwLDEsMzIuMTgsNTYuMzVaIi8+PHBhdGggY2xhc3M9ImNscy0yIiBkPSJNNTEuNSw3OC43OWEyMC4xNywyMC4xNywwLDAsMS0xMi4yNy00LjExLjg2Ljg2LDAsMCwxLS4xNy0xLjIxLjg1Ljg1LDAsMCwxLDEuMi0uMTZBMTguNTIsMTguNTIsMCwwLDAsNTEuNSw3Ny4wNywxOC4yMywxOC4yMywwLDAsMCw1NSw3Ni43M2EuODcuODcsMCwwLDEsLjMzLDEuN0EyMC44NywyMC44NywwLDAsMSw1MS41LDc4Ljc5WiIvPjxwYXRoIGNsYXNzPSJjbHMtMiIgZD0iTTcwLDY1LjQyYS44NC44NCwwLDAsMS0uMjcsMCwuODYuODYsMCwwLDEtLjU0LTEuMDksMTguNzEsMTguNzEsMCwwLDAtOC41NS0yMi4xNy44Ni44NiwwLDEsMSwuODUtMS41LDIwLjQyLDIwLjQyLDAsMCwxLDkuMzMsMjQuMjFBLjg3Ljg3LDAsMCwxLDcwLDY1LjQyWiIvPjwvZz48ZyBpZD0iSE9TVElORyI+PHRleHQgY2xhc3M9ImNscy0zIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSgxNy45MyAtNC45OCkiPkpTT04gPHRzcGFuIGNsYXNzPSJjbHMtNCIgeD0iMjkuMDYiIHk9IjAiPnQ8L3RzcGFuPjx0c3BhbiB4PSIzMi45NiIgeT0iMCI+byBKU09OPC90c3Bhbj48L3RleHQ+PC9nPjwvc3ZnPg==',\n id: 'json-to-json',\n name: 'JSON to JSON Transformation',\n onRequest: true,\n onResponse: true,\n schema:\n '{\\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',\n version: '1.6.0',\n };\n\n return {\n ...base,\n ...attributes,\n };\n}\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 */\nimport { PolicyDocumentation } from './PolicyDocumentation';\n\nexport function fakePolicyDocumentation(attributes?: PolicyDocumentation): PolicyDocumentation {\n const base: PolicyDocumentation = `\n= RateLimit policy\n\n\nifdef::env-github[]\nimage: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/\"]\nimage: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\"]\nendif::[]\n\n== Phase\n\n|===\n|onRequest |onResponse\n\n| X\n|\n\n|===\n\n== Description\n\nThere are three \\`rate-limit\\` policies:\n\n* Quota: configures the number of requests allowed over a period of time (hours, days, weeks, months)\n* Rate-Limit: configures the number of requests allowed over a limited period of time (seconds, minutes)\n* Spike-Arrest: throttles the number of requests processed and sends them to the backend to avoid a spike\n\n== Configuration\n\nYou can configure the policies with the following options:\n\n=== Quota\n\nThe Quota policy configures the number of requests allowed over a large period of time (from hours to months).\nThis policy does not prevent request spikes.\n\n|===\n|Property |Required |Description |Type |Default\n\n|key\n|No\n|Key to identify a consumer to apply the quota against. Leave it empty to apply the default behavior (plan/subscription pair). Supports Expression Language.\n|String\n|null\n\n|limit\n|No\n|Static limit on the number of requests that can be sent (this limit is used if the value > 0).\n|integer\n|0\n\n|dynamicLimit\n|No\n|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.\n|string\n|null\n\n|periodTime\n|Yes\n|Time duration\n|Integer\n|1\n\n|periodTimeUnit\n|Yes\n|Time unit (\\`HOURS\\`, \\`DAYS\\`, \\`WEEKS\\`, \\`MONTHS\\`)\n|String\n|MONTHS\n\n|===\n\n==== Configuration example\n\n[source, json]\n----\n \"quota\": {\n \"limit\": \"1000\",\n \"periodTime\": 1,\n \"periodTimeUnit\": \"MONTHS\"\n }\n----\n\n=== Rate-Limit\n\nThe Rate-Limit policy configures the number of requests allow over a limited period of time (from seconds to minutes).\nThis policy does not prevent request spikes.\n\n|===\n|Property |Required |Description |Type |Default\n\n|key\n|No\n|Key to identify a consumer to apply rate-limiting against. Leave it empty to use the default behavior (plan/subscription pair). Supports Expression Language.\n|String\n|null\n\n|limit\n|No\n|Static limit on the number of requests that can be sent (this limit is used if the value > 0).\n|integer\n|0\n\n|dynamicLimit\n|No\n|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.\n|string\n|null\n\n|periodTime\n|Yes\n|Time duration\n|Integer\n|1\n\n|periodTimeUnit\n|Yes\n|Time unit (\"SECONDS\", \"MINUTES\" )\n|String\n|SECONDS\n\n|===\n\n==== Configuration example\n\n[source, json]\n----\n \"rate\": {\n \"limit\": \"10\",\n \"periodTime\": 10,\n \"periodTimeUnit\": \"MINUTES\"\n }\n----\n\n=== Spike Arrest\n\nThe Spike-Arrest policy configures the number of requests allow over a limited period of time (from seconds to minutes).\nThis policy prevents request spikes by throttling incoming requests.\nFor example, a SpikeArrest policy configured to 2000 requests/second will limit the execution of simultaneous requests to 200 requests per 100ms.\n\nBy 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.\n\n|===\n|Property |Required |Description |Type |Default\n\n|key\n|No\n|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']}\\`).\n|String\n|null\n\n|limit\n|No\n|Static limit on the number of requests that can be sent (this limit is used if the value > 0).\n|integer\n|0\n\n|dynamicLimit\n|No\n|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.\n|string\n|null\n\n|periodTime\n|Yes\n|Time duration\n|Integer\n|1\n\n|periodTimeUnit\n|Yes\n|Time unit (\\`SECONDS\\`, \\`MINUTES\\`)\n|String\n|SECONDS\n\n|===\n\n==== Configuration example\n\n[source, json]\n----\n \"spike\": {\n \"limit\": \"10\",\n \"periodTime\": 10,\n \"periodTimeUnit\": \"MINUTES\"\n }\n----\n\n== Errors\n\n=== Default response override\n\nYou 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*\noption in the API *Proxy* menu).\n\n=== Error keys\n\nThe error keys sent by these policies are as follows:\n\n[cols=\"2*\", options=\"header\"]\n|===\n^|Key\n^|Parameters\n\n.^|RATE_LIMIT_TOO_MANY_REQUESTS\n^.^|limit - period_time - period_unit\n\n.^|QUOTA_TOO_MANY_REQUESTS\n^.^|limit - period_time - period_unit\n\n.^|SPIKE_ARREST_TOO_MANY_REQUESTS\n^.^|limit - period_time - period_unit - slice_limit - slice_period_time - slice_limit_period_unit\n\n|===\n`;\n\n return attributes ?? base;\n}\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 */\nimport { PolicySchema } from './PolicySchema';\n\nexport function fakePolicySchema(attributes?: PolicySchema): PolicySchema {\n const base: PolicySchema = 'A policy schema';\n\n return attributes ?? base;\n}\n","/*\n * Copyright (C) 2022 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 */\nexport * from './PolicyListItem.fixture';\nexport * from './PolicyDocumentation.fixture';\nexport * from './PolicySchema.fixture';\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 */\nimport { ResourceDocumentation } from './ResourceDocumentation';\n\nexport function fakeResourceDocumentation(attributes?: ResourceDocumentation): ResourceDocumentation {\n const base: ResourceDocumentation = `\n= Cache Resource\n\nifdef::env-github[]\nimage:https://ci.gravitee.io/buildStatus/icon?job=gravitee-io/gravitee-resource-cache/master[\"Build status\", link=\"https://ci.gravitee.io/job/gravitee-io/job/gravitee-resource-cache/\"]\nimage: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\"]\nendif::[]\n\n== Description\n\nThe cache resource is used to maintain a cache and link it to the API lifecycle.\nIt means that the cache is initialized when the API is starting and released when API is stopped.\n\nThis cache is responsible to store HTTP response from the backend to avoid subsequent calls.\n\nCurrent implementation of the cache resource is based on https://hazelcast.com/[Hazelcast].\n\n== Configuration\n\nYou can configure the resource with the following options :\n\n|===\n|Property |Required |Description |Type |Default\n\n.^|name\n^.^|X\n|The name of the cache.\n^.^|string\n^.^|my-cache\n\n.^|timeToIdleSeconds\n^.^|X\n|The maximum number of seconds an element can exist in the cache without being accessed. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToIdle (TTI) eviction takes place (infinite lifetime).\n^.^|integer\n^.^|0\n\n.^|timeToLiveSeconds\n^.^|X\n|The maximum number of seconds an element can exist in the cache regardless of use. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToLive (TTL) eviction takes place (infinite lifetime).\n^.^|integer\n^.^|0\n\n.^|maxEntriesLocalHeap\n^.^|X\n|The maximum objects to be held in local heap memory (0 = no limit).\n^.^|integer\n^.^|1000\n\n|===\n\n\n[source, json]\n.Configuration example\n----\n{\n \"name\" : \"cache\",\n \"type\" : \"cache\",\n \"enabled\" : true,\n \"configuration\" : {\n \"name\": \"my-cache\",\n \"timeToIdleSeconds\":0,\n \"timeToLiveSeconds\":0,\n \"maxEntriesLocalHeap\":1000\n }\n}\n----`;\n\n return attributes ?? base;\n}\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 */\nimport { ResourceListItem } from './ResourceListItem';\n\nexport function fakeResourceListItem(attributes?: Partial<ResourceListItem>): ResourceListItem {\n const base: ResourceListItem = {\n description:\n 'The resource is used to maintain a cache and link it to the API lifecycle. It means that the cache is initialized when the API is starting and released when API is stopped.',\n icon: 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxMDAuNzEgMTEyLjgyIj48ZGVmcz48c3R5bGU+LmNscy0xe2ZvbnQtc2l6ZToxMnB4O2ZpbGw6IzFkMWQxYjtmb250LWZhbWlseTpNeXJpYWRQcm8tUmVndWxhciwgTXlyaWFkIFBybzt9LmNscy0ye2xldHRlci1zcGFjaW5nOi0wLjAxZW07fS5jbHMtM3tmaWxsOiM4NmMzZDA7fS5jbHMtNHtmaWxsOiNmZmY7c3Ryb2tlOiNmZmY7c3Ryb2tlLW1pdGVybGltaXQ6MTA7fTwvc3R5bGU+PC9kZWZzPjxnIGlkPSJIT1NUSU5HIj48dGV4dCBjbGFzcz0iY2xzLTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDE3LjkzIC00Ljk4KSI+PHRzcGFuIGNsYXNzPSJjbHMtMiI+QzwvdHNwYW4+PHRzcGFuIHg9IjYuODgiIHk9IjAiPmFjaGU8L3RzcGFuPjwvdGV4dD48cmVjdCBjbGFzcz0iY2xzLTMiIHg9IjUiIHk9IjExIiB3aWR0aD0iOTAiIGhlaWdodD0iOTAiIGZpbGw9InRyYW5zcGFyZW50IiBzdHJva2Utd2lkdGg9IjUiLz48cGF0aCBjbGFzcz0iY2xzLTQiIGQ9Ik00Ny40NSw3Ny41OEEyMy4zLDIzLjMsMCwwLDEsNDIsNzYuOTNMNDIuNDYsNzVhMjEuMzQsMjEuMzQsMCwxLDAtMTEtMzQuODNsLTEuNS0xLjMyQTIzLjM0LDIzLjM0LDAsMSwxLDQ3LjQ1LDc3LjU4WiIvPjxwb2x5Z29uIGNsYXNzPSJjbHMtNCIgcG9pbnRzPSI0Ni4yOCA3MC44OSAzNC40MSA3Mi4zNyA0MS42MyA4MS45MSA0Ni4yOCA3MC44OSIvPjwvZz48L3N2Zz4K',\n id: 'cache',\n name: 'Cache',\n schema:\n '{\\n \"type\" : \"object\",\\n \"id\" : \"urn:jsonschema:io:gravitee:resource:cache:configuration:CacheResourceConfiguration\",\\n \"properties\" : {\\n \"name\" : {\\n \"title\": \"Cache name\",\\n \"description\": \"The name of the cache.\",\\n \"type\" : \"string\",\\n \"default\": \"my-cache\"\\n },\\n \"timeToIdleSeconds\" : {\\n \"title\": \"Time to idle (in seconds)\",\\n \"type\" : \"integer\",\\n \"description\": \"The maximum number of seconds an element can exist in the cache without being accessed. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToIdle (TTI) eviction takes place (infinite lifetime).\",\\n \"default\": 0,\\n \"minimum\": 0\\n },\\n \"timeToLiveSeconds\" : {\\n \"title\": \"Time to live (in seconds)\",\\n \"type\" : \"integer\",\\n \"description\": \"The maximum number of seconds an element can exist in the cache regardless of use. The element expires at this limit and will no longer be returned from the cache. The default value is 0, which means no timeToLive (TTL) eviction takes place (infinite lifetime).\",\\n \"default\": 0,\\n \"minimum\": 0\\n },\\n \"maxEntriesLocalHeap\" : {\\n \"title\": \"Max entries on heap\",\\n \"description\": \"The maximum objects to be held in local heap memory (0 = no limit).\",\\n \"type\" : \"integer\",\\n \"default\": 1000,\\n \"minimum\": 0\\n }\\n },\\n \"required\": [\\n \"name\",\\n \"timeToIdleSeconds\",\\n \"timeToLiveSeconds\",\\n \"maxEntriesLocalHeap\",\\n \"timeToLiveSeconds\"\\n ]\\n}\\n',\n version: '1.6.1',\n };\n\n return {\n ...base,\n ...attributes,\n };\n}\n","/*\n * Copyright (C) 2022 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 */\nexport * from './ResourceDocumentation.fixture';\nexport * from './ResourceListItem.fixture';\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 */\nimport { Grammar } from './Grammar';\n\nexport function fakeGrammar(attributes?: Partial<Grammar>): Grammar {\n return {\n ...base,\n ...attributes,\n } as Grammar;\n}\n\nconst base: Grammar = {\n request: {\n content: {\n _type: 'String',\n },\n contextPath: {\n _type: 'String',\n },\n headers: {\n _type: 'HttpHeaders',\n },\n id: {\n _type: 'String',\n },\n localAddress: {\n _type: 'String',\n },\n params: {\n _type: 'MultiValueMap',\n },\n path: {\n _type: 'String',\n },\n pathInfo: {\n _type: 'String',\n },\n pathInfos: {\n _type: 'String[]',\n },\n pathParams: {\n _type: 'MultiValueMap',\n },\n paths: {\n _type: 'String[]',\n },\n remoteAddress: {\n _type: 'String',\n },\n scheme: {\n _type: 'String',\n },\n ssl: {\n client: {\n attributes: {\n _type: 'MultiValueMap',\n },\n businessCategory: {\n _type: 'String',\n },\n c: {\n _type: 'String',\n },\n cn: {\n _type: 'String',\n },\n countryOfCitizenship: {\n _type: 'String',\n },\n countryOfResidence: {\n _type: 'String',\n },\n dateOfBirth: {\n _type: 'String',\n },\n dc: {\n _type: 'String',\n },\n defined: {\n _type: 'boolean',\n },\n description: {\n _type: 'String',\n },\n dmdName: {\n _type: 'String',\n },\n dn: {\n _type: 'String',\n },\n dnQualifier: {\n _type: 'String',\n },\n e: {\n _type: 'String',\n },\n emailAddress: {\n _type: 'String',\n },\n gender: {\n _type: 'String',\n },\n generation: {\n _type: 'String',\n },\n givenname: {\n _type: 'String',\n },\n initials: {\n _type: 'String',\n },\n l: {\n _type: 'String',\n },\n name: {\n _type: 'String',\n },\n nameAtBirth: {\n _type: 'String',\n },\n o: {\n _type: 'String',\n },\n organizationIdentifier: {\n _type: 'String',\n },\n ou: {\n _type: 'String',\n },\n placeOfBirth: {\n _type: 'String',\n },\n postalAddress: {\n _type: 'String',\n },\n postalCode: {\n _type: 'String',\n },\n pseudonym: {\n _type: 'String',\n },\n role: {\n _type: 'String',\n },\n serialnumber: {\n _type: 'String',\n },\n st: {\n _type: 'String',\n },\n street: {\n _type: 'String',\n },\n surname: {\n _type: 'String',\n },\n t: {\n _type: 'String',\n },\n telephoneNumber: {\n _type: 'String',\n },\n uid: {\n _type: 'String',\n },\n uniqueIdentifier: {\n _type: 'String',\n },\n unstructuredAddress: {\n _type: 'String',\n },\n },\n clientHost: {\n _type: 'String',\n },\n clientPort: {\n _type: 'Integer',\n },\n server: {\n attributes: {\n _type: 'MultiValueMap',\n },\n businessCategory: {\n _type: 'String',\n },\n c: {\n _type: 'String',\n },\n cn: {\n _type: 'String',\n },\n countryOfCitizenship: {\n _type: 'String',\n },\n countryOfResidence: {\n _type: 'String',\n },\n dateOfBirth: {\n _type: 'String',\n },\n dc: {\n _type: 'String',\n },\n defined: {\n _type: 'boolean',\n },\n description: {\n _type: 'String',\n },\n dmdName: {\n _type: 'String',\n },\n dn: {\n _type: 'String',\n },\n dnQualifier: {\n _type: 'String',\n },\n e: {\n _type: 'String',\n },\n emailAddress: {\n _type: 'String',\n },\n gender: {\n _type: 'String',\n },\n generation: {\n _type: 'String',\n },\n givenname: {\n _type: 'String',\n },\n initials: {\n _type: 'String',\n },\n l: {\n _type: 'String',\n },\n name: {\n _type: 'String',\n },\n nameAtBirth: {\n _type: 'String',\n },\n o: {\n _type: 'String',\n },\n organizationIdentifier: {\n _type: 'String',\n },\n ou: {\n _type: 'String',\n },\n placeOfBirth: {\n _type: 'String',\n },\n postalAddress: {\n _type: 'String',\n },\n postalCode: {\n _type: 'String',\n },\n pseudonym: {\n _type: 'String',\n },\n role: {\n _type: 'String',\n },\n serialnumber: {\n _type: 'String',\n },\n st: {\n _type: 'String',\n },\n street: {\n _type: 'String',\n },\n surname: {\n _type: 'String',\n },\n t: {\n _type: 'String',\n },\n telephoneNumber: {\n _type: 'String',\n },\n uid: {\n _type: 'String',\n },\n uniqueIdentifier: {\n _type: 'String',\n },\n unstructuredAddress: {\n _type: 'String',\n },\n },\n },\n timestamp: {\n _type: 'long',\n },\n transactionId: {\n _type: 'String',\n },\n uri: {\n _type: 'String',\n },\n version: {\n _type: 'String',\n },\n },\n endpoints: {\n _type: 'String[]',\n },\n response: {\n headers: {\n _type: 'HttpHeaders',\n },\n content: {\n _type: 'String',\n },\n status: {\n _type: 'int',\n },\n },\n context: {\n attributes: {\n 'context-path': {\n _type: 'String',\n },\n application: {\n _type: 'String',\n },\n 'api-key': {\n _type: 'String',\n },\n 'user-id': {\n _type: 'String',\n },\n api: {\n _type: 'String',\n },\n plan: {\n _type: 'String',\n },\n 'resolved-path': {\n _type: 'String',\n },\n },\n },\n _enums: {\n HttpHeaders: [\n 'Accept',\n 'Accept-Charset',\n 'Accept-Encoding',\n 'Accept-Language',\n 'Accept-Ranges',\n 'Access-Control-Allow-Credentials',\n 'Access-Control-Allow-Headers',\n 'Access-Control-Allow-Methods',\n 'Access-Control-Allow-Origin',\n 'Access-Control-Expose-Headers',\n 'Access-Control-Max-Age',\n 'Access-Control-Request-Headers',\n 'Access-Control-Request-Method',\n 'Age',\n 'Allow',\n 'Authorization',\n 'Cache-Control',\n 'Connection',\n 'Content-Disposition',\n 'Content-Encoding',\n 'Content-ID',\n 'Content-Language',\n 'Content-Length',\n 'Content-Location',\n 'Content-MD5',\n 'Content-Range',\n 'Content-Type',\n 'Cookie',\n 'Date',\n 'ETag',\n 'Expires',\n 'Expect',\n 'Forwarded',\n 'From',\n 'Host',\n 'If-Match',\n 'If-Modified-Since',\n 'If-None-Match',\n 'If-Unmodified-Since',\n 'Keep-Alive',\n 'Last-Modified',\n 'Location',\n 'Link',\n 'Max-Forwards',\n 'MIME-Version',\n 'Origin',\n 'Pragma',\n 'Proxy-Authenticate',\n 'Proxy-Authorization',\n 'Proxy-Connection',\n 'Range',\n 'Referer',\n 'Retry-After',\n 'Server',\n 'Set-Cookie',\n 'Set-Cookie2',\n 'TE',\n 'Trailer',\n 'Transfer-Encoding',\n 'Upgrade',\n 'User-Agent',\n 'Vary',\n 'Via',\n 'Warning',\n 'WWW-Authenticate',\n 'X-Forwarded-For',\n 'X-Forwarded-Proto',\n 'X-Forwarded-Server',\n 'X-Forwarded-Host',\n 'X-Forwarded-Port',\n 'X-Forwarded-Prefix',\n ],\n },\n properties: {\n _type: 'String[]',\n },\n dictionaries: {\n _type: 'String[]',\n },\n _types: {\n MultiValueMap: {\n methods: [\n {\n name: 'containsKey',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'containsValue',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'entrySet',\n returnType: 'Set',\n },\n {\n name: 'get',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'getOrDefault',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n {\n name: 'arg1',\n type: 'Object',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'keySet',\n returnType: 'Set',\n },\n {\n name: 'size',\n returnType: 'int',\n },\n {\n name: 'values',\n returnType: 'Collection',\n },\n ],\n },\n HttpHeaders: {\n methods: [\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n {\n name: 'containsKey',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'containsValue',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'entrySet',\n returnType: 'Set',\n },\n {\n name: 'get',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'getOrDefault',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n {\n name: 'arg1',\n type: 'Object',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'keySet',\n returnType: 'Set',\n },\n {\n name: 'size',\n returnType: 'int',\n },\n {\n name: 'values',\n returnType: 'Collection',\n },\n ],\n },\n Map: {\n methods: [\n {\n name: 'containsKey',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'containsValue',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'entrySet',\n returnType: 'Set',\n },\n {\n name: 'get',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'getOrDefault',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n {\n name: 'arg1',\n type: 'Object',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'keySet',\n returnType: 'Set',\n },\n {\n name: 'size',\n returnType: 'int',\n },\n {\n name: 'values',\n returnType: 'Collection',\n },\n ],\n },\n Boolean: {\n methods: [\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n Integer: {\n methods: [\n {\n name: 'numberOfLeadingZeros',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'numberOfTrailingZeros',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'bitCount',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'toString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'toString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n {\n name: 'hashCode',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'min',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'max',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'signum',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'reverseBytes',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'compareTo',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'compareTo',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'Integer',\n },\n ],\n },\n {\n name: 'byteValue',\n returnType: 'byte',\n },\n {\n name: 'shortValue',\n returnType: 'short',\n },\n {\n name: 'intValue',\n returnType: 'int',\n },\n {\n name: 'longValue',\n returnType: 'long',\n },\n {\n name: 'floatValue',\n returnType: 'float',\n },\n {\n name: 'doubleValue',\n returnType: 'double',\n },\n {\n name: 'valueOf',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'toHexString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'decode',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'compare',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'reverse',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'toUnsignedLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseInt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseInt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'parseInt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'sum',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'compareUnsigned',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'toUnsignedString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'toUnsignedString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'toOctalString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'toBinaryString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseUnsignedInt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseUnsignedInt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'parseUnsignedInt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'getInteger',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'getInteger',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'getInteger',\n returnType: 'Integer',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'Integer',\n },\n ],\n },\n {\n name: 'divideUnsigned',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'remainderUnsigned',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'highestOneBit',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'lowestOneBit',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'rotateLeft',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'rotateRight',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n Long: {\n methods: [\n {\n name: 'numberOfLeadingZeros',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'numberOfTrailingZeros',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'bitCount',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'toString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'toString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n {\n name: 'hashCode',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'min',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'max',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'signum',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'reverseBytes',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'compareTo',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'compareTo',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'Long',\n },\n ],\n },\n {\n name: 'getLong',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'getLong',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'getLong',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'Long',\n },\n ],\n },\n {\n name: 'byteValue',\n returnType: 'byte',\n },\n {\n name: 'shortValue',\n returnType: 'short',\n },\n {\n name: 'intValue',\n returnType: 'int',\n },\n {\n name: 'longValue',\n returnType: 'long',\n },\n {\n name: 'floatValue',\n returnType: 'float',\n },\n {\n name: 'doubleValue',\n returnType: 'double',\n },\n {\n name: 'valueOf',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'toHexString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'decode',\n returnType: 'Long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'compare',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'reverse',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'sum',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'compareUnsigned',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'toUnsignedString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'toUnsignedString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'toOctalString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'toBinaryString',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'parseLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'divideUnsigned',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'remainderUnsigned',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'highestOneBit',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'lowestOneBit',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'rotateLeft',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'rotateRight',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseUnsignedLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'parseUnsignedLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'parseUnsignedLong',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n Math: {\n methods: [\n {\n name: 'abs',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'abs',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'abs',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'abs',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'sin',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'cos',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'tan',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'atan2',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'sqrt',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'log',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'log10',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'pow',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'exp',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'min',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'min',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n {\n name: 'arg1',\n type: 'float',\n },\n ],\n },\n {\n name: 'min',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'min',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'max',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'max',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n {\n name: 'arg1',\n type: 'float',\n },\n ],\n },\n {\n name: 'max',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'max',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'floor',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'ceil',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'rint',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'addExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'addExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'decrementExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'decrementExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'incrementExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'incrementExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'multiplyExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'multiplyExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'multiplyExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'multiplyHigh',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'negateExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'negateExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'subtractExact',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'subtractExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'fma',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n {\n name: 'arg1',\n type: 'float',\n },\n {\n name: 'arg2',\n type: 'float',\n },\n ],\n },\n {\n name: 'fma',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n {\n name: 'arg2',\n type: 'double',\n },\n ],\n },\n {\n name: 'copySign',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n {\n name: 'arg1',\n type: 'float',\n },\n ],\n },\n {\n name: 'copySign',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'signum',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'signum',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'scalb',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'scalb',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'getExponent',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'getExponent',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'floorMod',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'floorMod',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'floorMod',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'asin',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'acos',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'atan',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'toRadians',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'toDegrees',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'cbrt',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'IEEEremainder',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'round',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'round',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'random',\n returnType: 'double',\n },\n {\n name: 'toIntExact',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'multiplyFull',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'floorDiv',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'floorDiv',\n returnType: 'long',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n {\n name: 'arg1',\n type: 'long',\n },\n ],\n },\n {\n name: 'floorDiv',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'ulp',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'ulp',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'sinh',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'cosh',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'tanh',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'hypot',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'expm1',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'log1p',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'nextAfter',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'nextAfter',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n {\n name: 'arg1',\n type: 'double',\n },\n ],\n },\n {\n name: 'nextUp',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'nextUp',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'nextDown',\n returnType: 'float',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'nextDown',\n returnType: 'double',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n Object: {\n methods: [\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n List: {\n methods: [\n {\n name: 'get',\n returnType: 'Object',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'contains',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'size',\n returnType: 'int',\n },\n ],\n },\n Collection: {\n methods: [\n {\n name: 'contains',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'size',\n returnType: 'int',\n },\n ],\n },\n Set: {\n methods: [\n {\n name: 'contains',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'size',\n returnType: 'int',\n },\n ],\n },\n String: {\n methods: [\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'length',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'getChars',\n returnType: 'void',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'char[]',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'compareTo',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'compareTo',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'indexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'indexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'indexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'indexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'long',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'char',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'double',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'float',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'char[]',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'boolean',\n },\n ],\n },\n {\n name: 'valueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'char[]',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n ],\n },\n {\n name: 'isEmpty',\n returnType: 'boolean',\n },\n {\n name: 'charAt',\n returnType: 'char',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'codePointAt',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'codePointBefore',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'codePointCount',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'offsetByCodePoints',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'getBytes',\n returnType: 'byte[]',\n params: [\n {\n name: 'arg0',\n type: 'Charset',\n },\n ],\n },\n {\n name: 'getBytes',\n returnType: 'void',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'byte[]',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'getBytes',\n returnType: 'byte[]',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'getBytes',\n returnType: 'byte[]',\n },\n {\n name: 'contentEquals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'StringBuffer',\n },\n ],\n },\n {\n name: 'contentEquals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n ],\n },\n {\n name: 'equalsIgnoreCase',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'regionMatches',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'boolean',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'String',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n {\n name: 'arg4',\n type: 'int',\n },\n ],\n },\n {\n name: 'regionMatches',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'String',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n {\n name: 'arg3',\n type: 'int',\n },\n ],\n },\n {\n name: 'compareToIgnoreCase',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'startsWith',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'startsWith',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'endsWith',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'lastIndexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'lastIndexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'lastIndexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'lastIndexOf',\n returnType: 'int',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'substring',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'substring',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'subSequence',\n returnType: 'CharSequence',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'concat',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'replace',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'CharSequence',\n },\n ],\n },\n {\n name: 'replace',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'char',\n },\n {\n name: 'arg1',\n type: 'char',\n },\n ],\n },\n {\n name: 'matches',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'contains',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n ],\n },\n {\n name: 'replaceFirst',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'String',\n },\n ],\n },\n {\n name: 'replaceAll',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'String',\n },\n ],\n },\n {\n name: 'split',\n returnType: 'String[]',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n ],\n },\n {\n name: 'split',\n returnType: 'String[]',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n ],\n },\n {\n name: 'join',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'CharSequence[]',\n },\n ],\n },\n {\n name: 'join',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'CharSequence',\n },\n {\n name: 'arg1',\n type: 'Iterable',\n },\n ],\n },\n {\n name: 'toLowerCase',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'Locale',\n },\n ],\n },\n {\n name: 'toLowerCase',\n returnType: 'String',\n },\n {\n name: 'toUpperCase',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'Locale',\n },\n ],\n },\n {\n name: 'toUpperCase',\n returnType: 'String',\n },\n {\n name: 'trim',\n returnType: 'String',\n },\n {\n name: 'strip',\n returnType: 'String',\n },\n {\n name: 'stripLeading',\n returnType: 'String',\n },\n {\n name: 'stripTrailing',\n returnType: 'String',\n },\n {\n name: 'isBlank',\n returnType: 'boolean',\n },\n {\n name: 'lines',\n returnType: 'Stream',\n },\n {\n name: 'chars',\n returnType: 'IntStream',\n },\n {\n name: 'codePoints',\n returnType: 'IntStream',\n },\n {\n name: 'toCharArray',\n returnType: 'char[]',\n },\n {\n name: 'format',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'String',\n },\n {\n name: 'arg1',\n type: 'Object[]',\n },\n ],\n },\n {\n name: 'format',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'Locale',\n },\n {\n name: 'arg1',\n type: 'String',\n },\n {\n name: 'arg2',\n type: 'Object[]',\n },\n ],\n },\n {\n name: 'copyValueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'char[]',\n },\n {\n name: 'arg1',\n type: 'int',\n },\n {\n name: 'arg2',\n type: 'int',\n },\n ],\n },\n {\n name: 'copyValueOf',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'char[]',\n },\n ],\n },\n {\n name: 'intern',\n returnType: 'String',\n },\n {\n name: 'repeat',\n returnType: 'String',\n params: [\n {\n name: 'arg0',\n type: 'int',\n },\n ],\n },\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n 'String[]': {\n methods: [\n {\n name: 'equals',\n returnType: 'boolean',\n params: [\n {\n name: 'arg0',\n type: 'Object',\n },\n ],\n },\n {\n name: 'hashCode',\n returnType: 'int',\n },\n {\n name: 'toString',\n returnType: 'String',\n },\n ],\n },\n },\n};\n","/*\n * Copyright (C) 2022 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 */\nexport * from './Grammar.fixture';\n","/*\n * Copyright (C) 2022 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 */\nexport * from './flow/index-testing';\nexport * from './policy/index-testing';\nexport * from './resource/index-testing';\nexport * from './spel/index-testing';\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 */\nimport { Observable } from 'rxjs';\n\nimport { FlowConfigurationSchema, OrganizationFlowConfiguration, PlatformFlowSchema } from '../models/flow';\n\nexport abstract class FlowServiceAbstract {\n abstract getConfigurationSchemaForm(): Observable<FlowConfigurationSchema>;\n\n abstract getPlatformFlowSchemaForm(): Observable<PlatformFlowSchema>;\n\n abstract getConfiguration(): Observable<OrganizationFlowConfiguration>;\n}\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 */\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { FlowConfigurationSchema, PlatformFlowSchema, OrganizationFlowConfiguration } from '../models/flow';\nimport { fakeFlowConfigurationSchema, fakeOrganizationFlowConfiguration, fakePlatformFlowSchema } from '../models/flow/index-testing';\n\nimport { FlowServiceAbstract } from './flow.abstract.service';\n\n@Injectable()\nexport class FlowService extends FlowServiceAbstract {\n public getConfigurationSchemaForm(): Observable<FlowConfigurationSchema> {\n return of(fakeFlowConfigurationSchema());\n }\n\n public getPlatformFlowSchemaForm(): Observable<PlatformFlowSchema> {\n return of(fakePlatformFlowSchema());\n }\n\n public getConfiguration(): Observable<OrganizationFlowConfiguration> {\n return of(fakeOrganizationFlowConfiguration());\n }\n}\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 */\nimport { Observable } from 'rxjs';\n\nimport { PolicyDocumentation, PolicyListItem, PolicySchema } from '../models/policy';\n\ninterface ListParams {\n expandSchema?: boolean;\n expandIcon?: boolean;\n withoutResource?: boolean;\n}\n\nexport abstract class PolicyServiceAbstract {\n abstract list(params: ListParams): Observable<PolicyListItem[]>;\n\n abstract listSwaggerPolicies(): Observable<PolicyListItem[]>;\n\n abstract getSchema(policyId: string): Observable<PolicySchema>;\n\n abstract getDocumentation(policyId: string): Observable<PolicyDocumentation>;\n}\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 */\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { map } from 'rxjs/operators';\n\nimport { PolicyDocumentation, PolicyListItem, PolicySchema } from '../models/policy';\nimport { fakePolicyListItem, fakePolicySchema, fakePolicyDocumentation } from '../models/policy/index-testing';\n\nimport { PolicyServiceAbstract } from './policy.abstract.service';\nimport { ListParams } from './resource.abstract.service';\n\n@Injectable()\nexport class PolicyService extends PolicyServiceAbstract {\n public list(_params: ListParams): Observable<PolicyListItem[]> {\n return of([fakePolicyListItem()]);\n }\n\n public listSwaggerPolicies(): Observable<PolicyListItem[]> {\n return of([fakePolicyListItem()]);\n }\n\n public getSchema(_policyId: string): Observable<PolicySchema> {\n return of(fakePolicySchema());\n }\n\n public getDocumentation(_policyId: string): Observable<PolicyDocumentation> {\n return of(fakePolicyDocumentation()).pipe(map(buffer => buffer.toString()));\n }\n}\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 */\nimport { Observable } from 'rxjs';\n\nimport { ResourceListItem, ResourceDocumentation } from '../models/resource';\n\nexport interface ListParams {\n expandSchema?: boolean;\n expandIcon?: boolean;\n withoutResource?: boolean;\n}\n\nexport abstract class ResourceServiceAbstract {\n abstract list(params: ListParams): Observable<ResourceListItem[]>;\n\n abstract getDocumentation(resourceId: string): Observable<ResourceDocumentation>;\n}\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 */\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { ResourceDocumentation, ResourceListItem } from '../models/resource';\nimport { fakeResourceDocumentation, fakeResourceListItem } from '../models/resource/index-testing';\n\nimport { ListParams, ResourceServiceAbstract } from './resource.abstract.service';\n\n@Injectable()\nexport class ResourceService extends ResourceServiceAbstract {\n public list(_params: ListParams): Observable<ResourceListItem[]> {\n return of([fakeResourceListItem()]);\n }\n\n public getDocumentation(_resourceId: string): Observable<ResourceDocumentation> {\n return of(fakeResourceDocumentation());\n }\n}\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 */\nimport { Observable } from 'rxjs';\n\nimport { Grammar } from '../models/spel';\n\nexport abstract class SpelServiceAbstract {\n abstract getGrammar(): Observable<Grammar>;\n}\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 */\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\n\nimport { Grammar } from '../models/spel';\nimport { fakeGrammar } from '../models/spel/index-testing';\n\nimport { SpelServiceAbstract } from './spel.abstract.service';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class SpelService extends SpelServiceAbstract {\n public getGrammar(): Observable<Grammar> {\n return of(fakeGrammar());\n }\n}\n","/*\n * Copyright (C) 2022 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 */\nexport * from './flow.service.fixture';\nexport * from './policy.service.fixture';\nexport * from './resource.service.fixture';\nexport * from './spel.service.fixture';\n","/*\n * Copyright (C) 2022 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\nimport _apimPolicies from './apim-policies.json';\nimport _apimResourceTypes from './apim-resource-types.json';\nimport _apimDefinition from './apim-definition.json';\nimport _apimFlow from './apim-flow.json';\nimport _apimPropertyProviders from './apim-property-providers.json';\n\nexport const apimPolicies = _apimPolicies;\nexport const apimResourceTypes = _apimResourceTypes;\nexport const apimDefinition = _apimDefinition;\nexport const apimFlow = _apimFlow;\nexport const apimPropertyProviders = _apimPropertyProviders;\n","/*\n * Copyright (C) 2022 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 */\nexport * from './stories-resources';\n","/*\n * Copyright (C) 2022 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 */\nexport * from './lib/models/index-testing';\nexport * from './lib/services/index-testing';\nexport * from './testing';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-testing-api';\n"],"names":[],"mappings":"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"}