@abp/ng.core 5.0.0-beta.1 → 5.0.0-beta.3-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (153) hide show
  1. package/README.md +3 -3
  2. package/bundles/abp-ng.core-locale.umd.js.map +1 -1
  3. package/bundles/abp-ng.core-testing.umd.js.map +1 -1
  4. package/bundles/abp-ng.core.umd.js +15 -9
  5. package/bundles/abp-ng.core.umd.js.map +1 -1
  6. package/esm2015/lib/abstracts/index.js.map +1 -1
  7. package/esm2015/lib/abstracts/ng-model.component.js.map +1 -1
  8. package/esm2015/lib/components/dynamic-layout.component.js +12 -12
  9. package/esm2015/lib/components/dynamic-layout.component.js.map +1 -1
  10. package/esm2015/lib/components/index.js.map +1 -1
  11. package/esm2015/lib/components/replaceable-route-container.component.js +4 -4
  12. package/esm2015/lib/components/replaceable-route-container.component.js.map +1 -1
  13. package/esm2015/lib/components/router-outlet.component.js.map +1 -1
  14. package/esm2015/lib/constants/different-locales.js.map +1 -1
  15. package/esm2015/lib/constants/index.js.map +1 -1
  16. package/esm2015/lib/core.module.js.map +1 -1
  17. package/esm2015/lib/directives/autofocus.directive.js.map +1 -1
  18. package/esm2015/lib/directives/debounce.directive.js.map +1 -1
  19. package/esm2015/lib/directives/for.directive.js.map +1 -1
  20. package/esm2015/lib/directives/form-submit.directive.js.map +1 -1
  21. package/esm2015/lib/directives/index.js.map +1 -1
  22. package/esm2015/lib/directives/init.directive.js.map +1 -1
  23. package/esm2015/lib/directives/permission.directive.js.map +1 -1
  24. package/esm2015/lib/directives/replaceable-template.directive.js.map +1 -1
  25. package/esm2015/lib/directives/stop-propagation.directive.js.map +1 -1
  26. package/esm2015/lib/enums/common.js.map +1 -1
  27. package/esm2015/lib/enums/index.js.map +1 -1
  28. package/esm2015/lib/guards/auth.guard.js.map +1 -1
  29. package/esm2015/lib/guards/index.js.map +1 -1
  30. package/esm2015/lib/guards/permission.guard.js.map +1 -1
  31. package/esm2015/lib/handlers/oauth-configuration.handler.js.map +1 -1
  32. package/esm2015/lib/handlers/routes.handler.js.map +1 -1
  33. package/esm2015/lib/interceptors/api.interceptor.js.map +1 -1
  34. package/esm2015/lib/interceptors/index.js.map +1 -1
  35. package/esm2015/lib/localization.module.js.map +1 -1
  36. package/esm2015/lib/models/auth.js.map +1 -1
  37. package/esm2015/lib/models/common.js.map +1 -1
  38. package/esm2015/lib/models/dtos.js.map +1 -1
  39. package/esm2015/lib/models/environment.js.map +1 -1
  40. package/esm2015/lib/models/index.js.map +1 -1
  41. package/esm2015/lib/models/localization.js.map +1 -1
  42. package/esm2015/lib/models/replaceable-components.js.map +1 -1
  43. package/esm2015/lib/models/rest.js.map +1 -1
  44. package/esm2015/lib/models/session.js.map +1 -1
  45. package/esm2015/lib/models/utility.js.map +1 -1
  46. package/esm2015/lib/pipes/index.js.map +1 -1
  47. package/esm2015/lib/pipes/localization.pipe.js.map +1 -1
  48. package/esm2015/lib/pipes/sort.pipe.js.map +1 -1
  49. package/esm2015/lib/providers/cookie-language.provider.js.map +1 -1
  50. package/esm2015/lib/providers/locale.provider.js.map +1 -1
  51. package/esm2015/lib/proxy/pages/abp/multi-tenancy/abp-tenant.service.js.map +1 -1
  52. package/esm2015/lib/proxy/pages/abp/multi-tenancy/index.js.map +1 -1
  53. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/abp-api-definition.service.js.map +1 -1
  54. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/api-exploring/index.js.map +1 -1
  55. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/abp-application-configuration.service.js.map +1 -1
  56. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/index.js.map +1 -1
  57. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/models.js.map +1 -1
  58. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/index.js.map +1 -1
  59. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending/models.js.map +1 -1
  60. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/index.js.map +1 -1
  61. package/esm2015/lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models.js.map +1 -1
  62. package/esm2015/lib/proxy/volo/abp/http/modeling/index.js.map +1 -1
  63. package/esm2015/lib/proxy/volo/abp/http/modeling/models.js.map +1 -1
  64. package/esm2015/lib/proxy/volo/abp/localization/index.js.map +1 -1
  65. package/esm2015/lib/proxy/volo/abp/localization/models.js.map +1 -1
  66. package/esm2015/lib/proxy/volo/abp/models.js.map +1 -1
  67. package/esm2015/lib/services/auth.service.js.map +1 -1
  68. package/esm2015/lib/services/config-state.service.js.map +1 -1
  69. package/esm2015/lib/services/content-projection.service.js.map +1 -1
  70. package/esm2015/lib/services/dom-insertion.service.js.map +1 -1
  71. package/esm2015/lib/services/environment.service.js.map +1 -1
  72. package/esm2015/lib/services/http-error-reporter.service.js.map +1 -1
  73. package/esm2015/lib/services/http-wait.service.js.map +1 -1
  74. package/esm2015/lib/services/index.js.map +1 -1
  75. package/esm2015/lib/services/lazy-load.service.js.map +1 -1
  76. package/esm2015/lib/services/list.service.js.map +1 -1
  77. package/esm2015/lib/services/localization.service.js.map +1 -1
  78. package/esm2015/lib/services/multi-tenancy.service.js.map +1 -1
  79. package/esm2015/lib/services/permission.service.js.map +1 -1
  80. package/esm2015/lib/services/replaceable-components.service.js.map +1 -1
  81. package/esm2015/lib/services/resource-wait.service.js.map +1 -1
  82. package/esm2015/lib/services/rest.service.js.map +1 -1
  83. package/esm2015/lib/services/router-events.service.js.map +1 -1
  84. package/esm2015/lib/services/router-wait.service.js.map +1 -1
  85. package/esm2015/lib/services/routes.service.js.map +1 -1
  86. package/esm2015/lib/services/session-state.service.js.map +1 -1
  87. package/esm2015/lib/services/subscription.service.js.map +1 -1
  88. package/esm2015/lib/services/track-by.service.js.map +1 -1
  89. package/esm2015/lib/strategies/auth-flow.strategy.js.map +1 -1
  90. package/esm2015/lib/strategies/container.strategy.js.map +1 -1
  91. package/esm2015/lib/strategies/content-security.strategy.js.map +1 -1
  92. package/esm2015/lib/strategies/content.strategy.js +13 -9
  93. package/esm2015/lib/strategies/content.strategy.js.map +1 -1
  94. package/esm2015/lib/strategies/context.strategy.js.map +1 -1
  95. package/esm2015/lib/strategies/cross-origin.strategy.js.map +1 -1
  96. package/esm2015/lib/strategies/dom.strategy.js.map +1 -1
  97. package/esm2015/lib/strategies/index.js.map +1 -1
  98. package/esm2015/lib/strategies/loading.strategy.js.map +1 -1
  99. package/esm2015/lib/strategies/projection.strategy.js.map +1 -1
  100. package/esm2015/lib/tokens/app-config.token.js.map +1 -1
  101. package/esm2015/lib/tokens/cookie-language-key.token.js.map +1 -1
  102. package/esm2015/lib/tokens/index.js.map +1 -1
  103. package/esm2015/lib/tokens/list.token.js.map +1 -1
  104. package/esm2015/lib/tokens/lodaer-delay.token.js.map +1 -1
  105. package/esm2015/lib/tokens/manage-profile.token.js.map +1 -1
  106. package/esm2015/lib/tokens/options.token.js.map +1 -1
  107. package/esm2015/lib/tokens/tenant-key.token.js.map +1 -1
  108. package/esm2015/lib/utils/array-utils.js.map +1 -1
  109. package/esm2015/lib/utils/auth-utils.js.map +1 -1
  110. package/esm2015/lib/utils/common-utils.js.map +1 -1
  111. package/esm2015/lib/utils/date-extensions.js.map +1 -1
  112. package/esm2015/lib/utils/date-utils.js.map +1 -1
  113. package/esm2015/lib/utils/environment-utils.js.map +1 -1
  114. package/esm2015/lib/utils/factory-utils.js.map +1 -1
  115. package/esm2015/lib/utils/file-utils.js.map +1 -1
  116. package/esm2015/lib/utils/form-utils.js.map +1 -1
  117. package/esm2015/lib/utils/generator-utils.js.map +1 -1
  118. package/esm2015/lib/utils/http-utils.js.map +1 -1
  119. package/esm2015/lib/utils/index.js.map +1 -1
  120. package/esm2015/lib/utils/initial-utils.js.map +1 -1
  121. package/esm2015/lib/utils/internal-store-utils.js.map +1 -1
  122. package/esm2015/lib/utils/lazy-load-utils.js.map +1 -1
  123. package/esm2015/lib/utils/localization-utils.js.map +1 -1
  124. package/esm2015/lib/utils/multi-tenancy-utils.js.map +1 -1
  125. package/esm2015/lib/utils/number-utils.js.map +1 -1
  126. package/esm2015/lib/utils/object-utils.js.map +1 -1
  127. package/esm2015/lib/utils/route-utils.js.map +1 -1
  128. package/esm2015/lib/utils/string-utils.js.map +1 -1
  129. package/esm2015/lib/utils/tree-utils.js.map +1 -1
  130. package/esm2015/lib/validators/age.validator.js.map +1 -1
  131. package/esm2015/lib/validators/credit-card.validator.js.map +1 -1
  132. package/esm2015/lib/validators/index.js.map +1 -1
  133. package/esm2015/lib/validators/range.validator.js.map +1 -1
  134. package/esm2015/lib/validators/required.validator.js.map +1 -1
  135. package/esm2015/lib/validators/string-length.validator.js.map +1 -1
  136. package/esm2015/lib/validators/url.validator.js.map +1 -1
  137. package/esm2015/locale/public-api.js.map +1 -1
  138. package/esm2015/locale/utils/register-locale.js.map +1 -1
  139. package/esm2015/public-api.js.map +1 -1
  140. package/esm2015/testing/lib/core-testing.module.js.map +1 -1
  141. package/esm2015/testing/lib/services/index.js.map +1 -1
  142. package/esm2015/testing/lib/services/mock-permission.service.js.map +1 -1
  143. package/esm2015/testing/lib/services/mock-rest.service.js.map +1 -1
  144. package/esm2015/testing/lib/utils/clear-page.util.js.map +1 -1
  145. package/esm2015/testing/lib/utils/index.js.map +1 -1
  146. package/esm2015/testing/lib/utils/wait.util.js.map +1 -1
  147. package/esm2015/testing/public-api.js.map +1 -1
  148. package/fesm2015/abp-ng.core-locale.js.map +1 -1
  149. package/fesm2015/abp-ng.core-testing.js.map +1 -1
  150. package/fesm2015/abp-ng.core.js +29 -25
  151. package/fesm2015/abp-ng.core.js.map +1 -1
  152. package/lib/strategies/content.strategy.d.ts +9 -5
  153. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"multi-tenancy-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector } from '@angular/core';\nimport clone from 'just-clone';\n\nimport { tap } from 'rxjs/operators';\nimport { Environment } from '../models/environment';\n\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\nimport { EnvironmentService } from '../services/environment.service';\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\nimport { createTokenParser } from './string-utils';\n\nconst tenancyPlaceholder = '{0}';\n\nfunction getCurrentTenancyName(appBaseUrl: string): string {\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\n\n const parseTokens = createTokenParser(appBaseUrl);\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\n return parseTokens(window.location.href)[token]?.[0];\n}\n\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\n const urlParams = new URLSearchParams(window.location.search);\n return urlParams.get(tenantKey);\n}\n\nexport async function parseTenantFromUrl(injector: Injector) {\n const environmentService = injector.get(EnvironmentService);\n const multiTenancyService = injector.get(MultiTenancyService);\n\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\n const tenancyName = getCurrentTenancyName(baseUrl);\n\n const hideTenantBox = () => {\n multiTenancyService.isTenantBoxVisible = false;\n };\n\n const setDomainTenant = (tenant: FindTenantResultDto) => {\n multiTenancyService.domainTenant = {\n id: tenant.tenantId,\n name: tenant.name,\n isAvailable: true,\n };\n };\n\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\n hideTenantBox();\n setDomainTenant(tenant);\n };\n\n if (tenancyName) {\n /**\n * We have to replace tenant name within the urls from environment,\n * because the code below will make a http request to find information about the domain tenant.\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\n */\n replaceTenantNameWithinEnvironment(injector, tenancyName);\n return multiTenancyService\n .setTenantByName(tenancyName)\n .pipe(tap(setEnvironmentWithDomainTenant))\n .toPromise();\n } else {\n /**\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\n */\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\n\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\n if (tenantIdFromQueryParams) {\n return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();\n }\n }\n\n return Promise.resolve();\n}\n\nfunction replaceTenantNameWithinEnvironment(\n injector: Injector,\n tenancyName: string,\n placeholder = tenancyPlaceholder,\n) {\n const environmentService = injector.get(EnvironmentService);\n\n const environment = clone(environmentService.getEnvironment()) as Environment;\n\n if (environment.application.baseUrl) {\n environment.application.baseUrl = environment.application.baseUrl.replace(\n placeholder,\n tenancyName,\n );\n }\n\n if (environment.oAuthConfig.redirectUri) {\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\n placeholder,\n tenancyName,\n );\n }\n\n environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);\n\n Object.keys(environment.apis).forEach(api => {\n Object.keys(environment.apis[api]).forEach(key => {\n environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);\n });\n });\n\n return environmentService.setState(environment);\n}\n"]}
1
+ {"version":3,"file":"multi-tenancy-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/multi-tenancy-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import { Injector } from '@angular/core';\r\nimport clone from 'just-clone';\r\n\r\nimport { tap } from 'rxjs/operators';\r\nimport { Environment } from '../models/environment';\r\n\r\nimport { FindTenantResultDto } from '../proxy/volo/abp/asp-net-core/mvc/multi-tenancy/models';\r\nimport { EnvironmentService } from '../services/environment.service';\r\nimport { MultiTenancyService } from '../services/multi-tenancy.service';\r\nimport { createTokenParser } from './string-utils';\r\n\r\nconst tenancyPlaceholder = '{0}';\r\n\r\nfunction getCurrentTenancyName(appBaseUrl: string): string {\r\n if (appBaseUrl.charAt(appBaseUrl.length - 1) !== '/') appBaseUrl += '/';\r\n\r\n const parseTokens = createTokenParser(appBaseUrl);\r\n const token = tenancyPlaceholder.replace(/[}{]/g, '');\r\n return parseTokens(window.location.href)[token]?.[0];\r\n}\r\n\r\nfunction getCurrentTenancyNameFromUrl(tenantKey: string) {\r\n const urlParams = new URLSearchParams(window.location.search);\r\n return urlParams.get(tenantKey);\r\n}\r\n\r\nexport async function parseTenantFromUrl(injector: Injector) {\r\n const environmentService = injector.get(EnvironmentService);\r\n const multiTenancyService = injector.get(MultiTenancyService);\r\n\r\n const baseUrl = environmentService.getEnvironment()?.application?.baseUrl || '';\r\n const tenancyName = getCurrentTenancyName(baseUrl);\r\n\r\n const hideTenantBox = () => {\r\n multiTenancyService.isTenantBoxVisible = false;\r\n };\r\n\r\n const setDomainTenant = (tenant: FindTenantResultDto) => {\r\n multiTenancyService.domainTenant = {\r\n id: tenant.tenantId,\r\n name: tenant.name,\r\n isAvailable: true,\r\n };\r\n };\r\n\r\n const setEnvironmentWithDomainTenant = (tenant: FindTenantResultDto) => {\r\n hideTenantBox();\r\n setDomainTenant(tenant);\r\n };\r\n\r\n if (tenancyName) {\r\n /**\r\n * We have to replace tenant name within the urls from environment,\r\n * because the code below will make a http request to find information about the domain tenant.\r\n * Before this request takes place, we need to replace placeholders aka \"{0}\".\r\n */\r\n replaceTenantNameWithinEnvironment(injector, tenancyName);\r\n return multiTenancyService\r\n .setTenantByName(tenancyName)\r\n .pipe(tap(setEnvironmentWithDomainTenant))\r\n .toPromise();\r\n } else {\r\n /**\r\n * If there is no tenant, we still have to clean up {0}. from baseUrl to avoid incorrect http requests.\r\n */\r\n replaceTenantNameWithinEnvironment(injector, '', tenancyPlaceholder + '.');\r\n\r\n const tenantIdFromQueryParams = getCurrentTenancyNameFromUrl(multiTenancyService.tenantKey);\r\n if (tenantIdFromQueryParams) {\r\n return multiTenancyService.setTenantById(tenantIdFromQueryParams).toPromise();\r\n }\r\n }\r\n\r\n return Promise.resolve();\r\n}\r\n\r\nfunction replaceTenantNameWithinEnvironment(\r\n injector: Injector,\r\n tenancyName: string,\r\n placeholder = tenancyPlaceholder,\r\n) {\r\n const environmentService = injector.get(EnvironmentService);\r\n\r\n const environment = clone(environmentService.getEnvironment()) as Environment;\r\n\r\n if (environment.application.baseUrl) {\r\n environment.application.baseUrl = environment.application.baseUrl.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n if (environment.oAuthConfig.redirectUri) {\r\n environment.oAuthConfig.redirectUri = environment.oAuthConfig.redirectUri.replace(\r\n placeholder,\r\n tenancyName,\r\n );\r\n }\r\n\r\n environment.oAuthConfig.issuer = environment.oAuthConfig.issuer.replace(placeholder, tenancyName);\r\n\r\n Object.keys(environment.apis).forEach(api => {\r\n Object.keys(environment.apis[api]).forEach(key => {\r\n environment.apis[api][key] = environment.apis[api][key].replace(placeholder, tenancyName);\r\n });\r\n });\r\n\r\n return environmentService.setState(environment);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"number-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/number-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAsB;IAC7C,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC","sourcesContent":["export function isNumber(value: string | number): boolean {\n return value == Number(value);\n}\n"]}
1
+ {"version":3,"file":"number-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/number-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,QAAQ,CAAC,KAAsB;IAC7C,OAAO,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC","sourcesContent":["export function isNumber(value: string | number): boolean {\r\n return value == Number(value);\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/object-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,SAAS,CAAC,MAAM,EAAE,MAAM;IACtC,IAAI,0BAA0B,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE;QAC5E,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7C;SAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE;QACjE,OAAO,EAAE,CAAC;KACX;SAAM;QACL,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;KACzC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAC1C,MAAM,gBAAgB,GACpB,iBAAiB,CAAC,MAAM,CAAC;QACzB,iBAAiB,CAAC,MAAM,CAAC,IAAI,2BAA2B;QACxD,OAAO,CAAC,MAAM,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB;QACxC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,6BAA6B;QAClD,MAAM,CAAC,MAAM,CAAC;QACd,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB;IAEtC;;;OAGG;IACH,IAAI,gBAAgB,EAAE;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;KACzC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC","sourcesContent":["import {\n exists,\n isArray,\n isNode,\n isNullOrUndefined,\n isObject,\n isObjectAndNotArrayNotNode,\n} from './common-utils';\n\nexport function deepMerge(target, source) {\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\n return deepMergeRecursively(target, source);\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\n return {};\n } else {\n return exists(source) ? source : target;\n }\n}\n\nfunction deepMergeRecursively(target, source) {\n const shouldNotRecurse =\n isNullOrUndefined(target) ||\n isNullOrUndefined(source) || // at least one not defined\n isArray(target) ||\n isArray(source) || // at least one array\n !isObject(target) ||\n !isObject(source) || // at least one not an object\n isNode(target) ||\n isNode(source); // at least one node\n\n /**\n * if we will not recurse any further,\n * we will prioritize source if it is a defined value.\n */\n if (shouldNotRecurse) {\n return exists(source) ? source : target;\n }\n\n const keysOfTarget = Object.keys(target);\n const keysOfSource = Object.keys(source);\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\n return [...uniqueKeys].reduce((retVal, key) => {\n retVal[key] = deepMergeRecursively(target[key], source[key]);\n return retVal;\n }, {});\n}\n"]}
1
+ {"version":3,"file":"object-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/object-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,MAAM,EACN,OAAO,EACP,MAAM,EACN,iBAAiB,EACjB,QAAQ,EACR,0BAA0B,GAC3B,MAAM,gBAAgB,CAAC;AAExB,MAAM,UAAU,SAAS,CAAC,MAAM,EAAE,MAAM;IACtC,IAAI,0BAA0B,CAAC,MAAM,CAAC,IAAI,0BAA0B,CAAC,MAAM,CAAC,EAAE;QAC5E,OAAO,oBAAoB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC7C;SAAM,IAAI,iBAAiB,CAAC,MAAM,CAAC,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE;QACjE,OAAO,EAAE,CAAC;KACX;SAAM;QACL,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;KACzC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAM,EAAE,MAAM;IAC1C,MAAM,gBAAgB,GACpB,iBAAiB,CAAC,MAAM,CAAC;QACzB,iBAAiB,CAAC,MAAM,CAAC,IAAI,2BAA2B;QACxD,OAAO,CAAC,MAAM,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,IAAI,qBAAqB;QACxC,CAAC,QAAQ,CAAC,MAAM,CAAC;QACjB,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,6BAA6B;QAClD,MAAM,CAAC,MAAM,CAAC;QACd,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,oBAAoB;IAEtC;;;OAGG;IACH,IAAI,gBAAgB,EAAE;QACpB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC;KACzC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QAC5C,MAAM,CAAC,GAAG,CAAC,GAAG,oBAAoB,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7D,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC","sourcesContent":["import {\r\n exists,\r\n isArray,\r\n isNode,\r\n isNullOrUndefined,\r\n isObject,\r\n isObjectAndNotArrayNotNode,\r\n} from './common-utils';\r\n\r\nexport function deepMerge(target, source) {\r\n if (isObjectAndNotArrayNotNode(target) && isObjectAndNotArrayNotNode(source)) {\r\n return deepMergeRecursively(target, source);\r\n } else if (isNullOrUndefined(target) && isNullOrUndefined(source)) {\r\n return {};\r\n } else {\r\n return exists(source) ? source : target;\r\n }\r\n}\r\n\r\nfunction deepMergeRecursively(target, source) {\r\n const shouldNotRecurse =\r\n isNullOrUndefined(target) ||\r\n isNullOrUndefined(source) || // at least one not defined\r\n isArray(target) ||\r\n isArray(source) || // at least one array\r\n !isObject(target) ||\r\n !isObject(source) || // at least one not an object\r\n isNode(target) ||\r\n isNode(source); // at least one node\r\n\r\n /**\r\n * if we will not recurse any further,\r\n * we will prioritize source if it is a defined value.\r\n */\r\n if (shouldNotRecurse) {\r\n return exists(source) ? source : target;\r\n }\r\n\r\n const keysOfTarget = Object.keys(target);\r\n const keysOfSource = Object.keys(source);\r\n const uniqueKeys = new Set(keysOfTarget.concat(keysOfSource));\r\n return [...uniqueKeys].reduce((retVal, key) => {\r\n retVal[key] = deepMergeRecursively(target[key], source[key]);\r\n return retVal;\r\n }, {});\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"route-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/route-utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAA2B,MAAM,iBAAiB,CAAC;AAG1E,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,UAAU,SAAS,CAAC,aAA4B,EAAE,IAAY;IAClE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAE9D,OAAO,IAAI,IAAI,IAAI,KAAK,GAAG;QACzB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG;IAC3D,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAqB,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAExE,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAc;IACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACvD,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;QACvD,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACrD,CAAC,CAAC;IAEF,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAS,EAAE;QACpB,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { NgZone } from '@angular/core';\nimport { PRIMARY_OUTLET, Router, UrlSegmentGroup } from '@angular/router';\nimport { ABP } from '../models/common';\nimport { RoutesService } from '../services/routes.service';\nimport { noop } from './common-utils';\nimport { TreeNode } from './tree-utils';\n\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> {\n const node = routesService.find(route => route.path === path);\n\n return node || path === '/'\n ? node\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\n}\n\nexport function getRoutePath(router: Router, url = router.url) {\n const emptyGroup = { segments: [] } as UrlSegmentGroup;\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\n\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\n}\n\nexport function reloadRoute(router: Router, ngZone: NgZone) {\n const { shouldReuseRoute } = router.routeReuseStrategy;\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\n router.routeReuseStrategy.shouldReuseRoute = reuse;\n };\n\n setRouteReuse(() => false);\n router.navigated = false;\n\n ngZone.run(async () => {\n await router.navigateByUrl(router.url).catch(noop);\n setRouteReuse(shouldReuseRoute);\n });\n}\n"]}
1
+ {"version":3,"file":"route-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/route-utils.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,cAAc,EAA2B,MAAM,iBAAiB,CAAC;AAG1E,OAAO,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAGtC,MAAM,UAAU,SAAS,CAAC,aAA4B,EAAE,IAAY;IAClE,MAAM,IAAI,GAAG,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IAE9D,OAAO,IAAI,IAAI,IAAI,KAAK,GAAG;QACzB,CAAC,CAAC,IAAI;QACN,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,MAAc,EAAE,GAAG,GAAG,MAAM,CAAC,GAAG;IAC3D,MAAM,UAAU,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAqB,CAAC;IACvD,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IAExE,OAAO,GAAG,GAAG,CAAC,YAAY,IAAI,UAAU,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACvF,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,MAAc,EAAE,MAAc;IACxD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,CAAC,kBAAkB,CAAC;IACvD,MAAM,aAAa,GAAG,CAAC,KAA8B,EAAE,EAAE;QACvD,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,GAAG,KAAK,CAAC;IACrD,CAAC,CAAC;IAEF,aAAa,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC;IAC3B,MAAM,CAAC,SAAS,GAAG,KAAK,CAAC;IAEzB,MAAM,CAAC,GAAG,CAAC,GAAS,EAAE;QACpB,MAAM,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACnD,aAAa,CAAC,gBAAgB,CAAC,CAAC;IAClC,CAAC,CAAA,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { NgZone } from '@angular/core';\r\nimport { PRIMARY_OUTLET, Router, UrlSegmentGroup } from '@angular/router';\r\nimport { ABP } from '../models/common';\r\nimport { RoutesService } from '../services/routes.service';\r\nimport { noop } from './common-utils';\r\nimport { TreeNode } from './tree-utils';\r\n\r\nexport function findRoute(routesService: RoutesService, path: string): TreeNode<ABP.Route> {\r\n const node = routesService.find(route => route.path === path);\r\n\r\n return node || path === '/'\r\n ? node\r\n : findRoute(routesService, path.split('/').slice(0, -1).join('/') || '/');\r\n}\r\n\r\nexport function getRoutePath(router: Router, url = router.url) {\r\n const emptyGroup = { segments: [] } as UrlSegmentGroup;\r\n const primaryGroup = router.parseUrl(url).root.children[PRIMARY_OUTLET];\r\n\r\n return '/' + (primaryGroup || emptyGroup).segments.map(({ path }) => path).join('/');\r\n}\r\n\r\nexport function reloadRoute(router: Router, ngZone: NgZone) {\r\n const { shouldReuseRoute } = router.routeReuseStrategy;\r\n const setRouteReuse = (reuse: typeof shouldReuseRoute) => {\r\n router.routeReuseStrategy.shouldReuseRoute = reuse;\r\n };\r\n\r\n setRouteReuse(() => false);\r\n router.navigated = false;\r\n\r\n ngZone.run(async () => {\r\n await router.navigateByUrl(router.url).catch(noop);\r\n setRouteReuse(shouldReuseRoute);\r\n });\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAW,EAAE,EAAE;QACrB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA8B,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAgB;IACxD,OAAO,IAAI;SACR,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAA,EAAA,CAAC;SACpF,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["export function createTokenParser(format: string) {\n return (str: string) => {\n const tokens: string[] = [];\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\n tokens.push(token);\n return '(.+)';\n });\n\n const matches = (str.match(regex) || []).slice(1);\n\n return matches.reduce((acc, v, i) => {\n const key = tokens[i];\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\n return acc;\n }, {} as Record<string, string[]>);\n };\n}\n\nexport function interpolate(text: string, params: string[]) {\n return text\n .replace(/(['\"]?\\{\\s*(\\d+)\\s*\\}['\"]?)/g, (_, match, digit) => params[digit] ?? match)\n .replace(/\\s+/g, ' ');\n}\n"]}
1
+ {"version":3,"file":"string-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/string-utils.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,iBAAiB,CAAC,MAAc;IAC9C,OAAO,CAAC,GAAW,EAAE,EAAE;QACrB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3F,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACnB,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAElD,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YACtB,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,EAA8B,CAAC,CAAC;IACrC,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,IAAY,EAAE,MAAgB;IACxD,OAAO,IAAI;SACR,OAAO,CAAC,8BAA8B,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,WAAC,OAAA,MAAA,MAAM,CAAC,KAAK,CAAC,mCAAI,KAAK,CAAA,EAAA,CAAC;SACpF,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAC1B,CAAC","sourcesContent":["export function createTokenParser(format: string) {\r\n return (str: string) => {\r\n const tokens: string[] = [];\r\n const regex = format.replace(/\\./g, '\\\\.').replace(/\\{\\s?([0-9a-zA-Z]+)\\s?\\}/g, (_, token) => {\r\n tokens.push(token);\r\n return '(.+)';\r\n });\r\n\r\n const matches = (str.match(regex) || []).slice(1);\r\n\r\n return matches.reduce((acc, v, i) => {\r\n const key = tokens[i];\r\n acc[key] = [...(acc[key] || []), v].filter(Boolean);\r\n return acc;\r\n }, {} as Record<string, string[]>);\r\n };\r\n}\r\n\r\nexport function interpolate(text: string, params: string[]) {\r\n return text\r\n .replace(/(['\"]?\\{\\s*(\\d+)\\s*\\}['\"]?)/g, (_, match, digit) => params[digit] ?? match)\r\n .replace(/\\s+/g, ' ');\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"tree-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/tree-utils.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,OAAO,YAAY;IAKvB,YAAY,KAAQ;QAJpB,aAAQ,GAAkB,EAAE,CAAC;QAC7B,WAAM,GAAG,IAAI,CAAC;QAIZ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CAAmB,KAAQ;QACtC,OAAO,IAAI,YAAY,CAAI,KAAK,CAAgB,CAAC;IACnD,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAS,EACT,WAAiC,EACjC,iBAAqC,EACrC,WAA2B;IAE3B,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAuC,EAAE,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACnB,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAc,CAAC,MAAM,GAAG,KAAK,CAAC;YAC9B,IAAY,CAAC,MAAM,GAAG,MAAM,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAS,EACT,WAAiC,EACjC,WAA2B;IAI3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,GAAY,EACZ,QAAgC;IAEhC,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpD,OAAO,SAAS,YAAY,CAAC,KAAoB,EAAE,OAAO,GAAG,EAAE;YAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAChE;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\nexport class BaseTreeNode<T extends object> {\n children: TreeNode<T>[] = [];\n isLeaf = true;\n parent?: TreeNode<T>;\n\n constructor(props: T) {\n Object.assign(this, props);\n }\n\n static create<T extends object>(props: T) {\n return new BaseTreeNode<T>(props) as TreeNode<T>;\n }\n}\n\nexport function createTreeFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n parentKeySelector: typeof keySelector,\n valueMapper: (item: T) => R,\n) {\n const map = createMapFromList(list, keySelector, valueMapper);\n const tree: NodeValue<T, typeof valueMapper>[] = [];\n\n list.forEach(row => {\n const id = keySelector(row);\n const parentId = parentKeySelector(row);\n const node = map.get(id);\n\n if (!node) return;\n\n if (parentId) {\n const parent = map.get(parentId);\n if (!parent) return;\n (parent as any).children.push(node);\n (parent as any).isLeaf = false;\n (node as any).parent = parent;\n } else {\n tree.push(node);\n }\n });\n\n return tree;\n}\n\nexport function createMapFromList<T extends object, R extends unknown>(\n list: T[],\n keySelector: (item: T) => NodeKey,\n valueMapper: (item: T) => R,\n) {\n type Key = ReturnType<typeof keySelector>;\n type Value = NodeValue<T, typeof valueMapper>;\n const map = new Map<Key, Value>();\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\n return map;\n}\n\nexport function createTreeNodeFilterCreator<T extends object>(\n key: keyof T,\n mapperFn: (value: any) => string,\n) {\n return (search: string) => {\n const regex = new RegExp('.*' + search + '.*', 'i');\n\n return function collectNodes(nodes: TreeNode<T>[], matches = []) {\n for (const node of nodes) {\n if (regex.test(mapperFn(node[key]))) matches.push(node);\n\n if (node.children.length) collectNodes(node.children, matches);\n }\n\n return matches;\n };\n };\n}\n\nexport type TreeNode<T extends object> = {\n [K in keyof T]: T[K];\n} & {\n children: TreeNode<T>[];\n isLeaf: boolean;\n parent?: TreeNode<T>;\n};\n\ntype NodeKey = number | string | symbol | undefined | null;\n\ntype NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\n ? TreeNode<T>\n : ReturnType<F>;\n"]}
1
+ {"version":3,"file":"tree-utils.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/utils/tree-utils.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,MAAM,OAAO,YAAY;IAKvB,YAAY,KAAQ;QAJpB,aAAQ,GAAkB,EAAE,CAAC;QAC7B,WAAM,GAAG,IAAI,CAAC;QAIZ,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,MAAM,CAAmB,KAAQ;QACtC,OAAO,IAAI,YAAY,CAAI,KAAK,CAAgB,CAAC;IACnD,CAAC;CACF;AAED,MAAM,UAAU,kBAAkB,CAChC,IAAS,EACT,WAAiC,EACjC,iBAAqC,EACrC,WAA2B;IAE3B,MAAM,GAAG,GAAG,iBAAiB,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;IAC9D,MAAM,IAAI,GAAuC,EAAE,CAAC;IAEpD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;QACjB,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,IAAI,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEzB,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,IAAI,QAAQ,EAAE;YACZ,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACnB,MAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACnC,MAAc,CAAC,MAAM,GAAG,KAAK,CAAC;YAC9B,IAAY,CAAC,MAAM,GAAG,MAAM,CAAC;SAC/B;aAAM;YACL,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACjB;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,IAAS,EACT,WAAiC,EACjC,WAA2B;IAI3B,MAAM,GAAG,GAAG,IAAI,GAAG,EAAc,CAAC;IAClC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACjE,OAAO,GAAG,CAAC;AACb,CAAC;AAED,MAAM,UAAU,2BAA2B,CACzC,GAAY,EACZ,QAAgC;IAEhC,OAAO,CAAC,MAAc,EAAE,EAAE;QACxB,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC;QAEpD,OAAO,SAAS,YAAY,CAAC,KAAoB,EAAE,OAAO,GAAG,EAAE;YAC7D,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;gBACxB,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAExD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM;oBAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAChE;YAED,OAAO,OAAO,CAAC;QACjB,CAAC,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC","sourcesContent":["/* eslint-disable @typescript-eslint/ban-types */\r\nexport class BaseTreeNode<T extends object> {\r\n children: TreeNode<T>[] = [];\r\n isLeaf = true;\r\n parent?: TreeNode<T>;\r\n\r\n constructor(props: T) {\r\n Object.assign(this, props);\r\n }\r\n\r\n static create<T extends object>(props: T) {\r\n return new BaseTreeNode<T>(props) as TreeNode<T>;\r\n }\r\n}\r\n\r\nexport function createTreeFromList<T extends object, R extends unknown>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n parentKeySelector: typeof keySelector,\r\n valueMapper: (item: T) => R,\r\n) {\r\n const map = createMapFromList(list, keySelector, valueMapper);\r\n const tree: NodeValue<T, typeof valueMapper>[] = [];\r\n\r\n list.forEach(row => {\r\n const id = keySelector(row);\r\n const parentId = parentKeySelector(row);\r\n const node = map.get(id);\r\n\r\n if (!node) return;\r\n\r\n if (parentId) {\r\n const parent = map.get(parentId);\r\n if (!parent) return;\r\n (parent as any).children.push(node);\r\n (parent as any).isLeaf = false;\r\n (node as any).parent = parent;\r\n } else {\r\n tree.push(node);\r\n }\r\n });\r\n\r\n return tree;\r\n}\r\n\r\nexport function createMapFromList<T extends object, R extends unknown>(\r\n list: T[],\r\n keySelector: (item: T) => NodeKey,\r\n valueMapper: (item: T) => R,\r\n) {\r\n type Key = ReturnType<typeof keySelector>;\r\n type Value = NodeValue<T, typeof valueMapper>;\r\n const map = new Map<Key, Value>();\r\n list.forEach(row => map.set(keySelector(row), valueMapper(row)));\r\n return map;\r\n}\r\n\r\nexport function createTreeNodeFilterCreator<T extends object>(\r\n key: keyof T,\r\n mapperFn: (value: any) => string,\r\n) {\r\n return (search: string) => {\r\n const regex = new RegExp('.*' + search + '.*', 'i');\r\n\r\n return function collectNodes(nodes: TreeNode<T>[], matches = []) {\r\n for (const node of nodes) {\r\n if (regex.test(mapperFn(node[key]))) matches.push(node);\r\n\r\n if (node.children.length) collectNodes(node.children, matches);\r\n }\r\n\r\n return matches;\r\n };\r\n };\r\n}\r\n\r\nexport type TreeNode<T extends object> = {\r\n [K in keyof T]: T[K];\r\n} & {\r\n children: TreeNode<T>[];\r\n isLeaf: boolean;\r\n parent?: TreeNode<T>;\r\n};\r\n\r\ntype NodeKey = number | string | symbol | undefined | null;\r\n\r\ntype NodeValue<T extends object, F extends (...args: any) => any> = F extends undefined\r\n ? TreeNode<T>\r\n : ReturnType<F>;\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"age.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/age.validator.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,GAAG,EAAE,KAAoB,EAAE;IAC7D,OAAO,CAAC,OAAwB,EAAsB,EAAE;QACtD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACxE,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,MAAc;IAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface MinAgeError {\n minAge: {\n age: number;\n };\n}\n\nexport interface MinAgeOptions {\n age?: number;\n}\n\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\n return (control: AbstractControl): MinAgeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\n };\n}\n\nfunction isValidMinAge(value: string | number, minAge: number) {\n const date = new Date();\n date.setFullYear(date.getFullYear() - minAge);\n date.setHours(23, 59, 59, 999);\n\n return Number(new Date(value)) <= date.valueOf();\n}\n"]}
1
+ {"version":3,"file":"age.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/age.validator.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,cAAc,CAAC,EAAE,GAAG,GAAG,EAAE,KAAoB,EAAE;IAC7D,OAAO,CAAC,OAAwB,EAAsB,EAAE;QACtD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,OAAO,aAAa,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,EAAE,CAAC;IACxE,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,aAAa,CAAC,KAAsB,EAAE,MAAc;IAC3D,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;IACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;IAE/B,OAAO,MAAM,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;AACnD,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface MinAgeError {\r\n minAge: {\r\n age: number;\r\n };\r\n}\r\n\r\nexport interface MinAgeOptions {\r\n age?: number;\r\n}\r\n\r\nexport function validateMinAge({ age = 18 }: MinAgeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): MinAgeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidMinAge(control.value, age) ? null : { minAge: { age } };\r\n };\r\n}\r\n\r\nfunction isValidMinAge(value: string | number, minAge: number) {\r\n const date = new Date();\r\n date.setFullYear(date.getFullYear() - minAge);\r\n date.setHours(23, 59, 59, 999);\r\n\r\n return Number(new Date(value)) <= date.valueOf();\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"credit-card.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/credit-card.validator.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,OAAwB,EAA0B,EAAE;QAC1D,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAChF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAChD,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAE1C,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACnC;IAED,OAAO,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface CreditCardError {\n creditCard: true;\n}\n\nexport function validateCreditCard(): ValidatorFn {\n return (control: AbstractControl): CreditCardError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\n };\n}\n\nfunction isValidCreditCard(value: string): boolean {\n value = value.replace(/[ -]/g, '');\n\n if (!/^[0-9]{13,19}$/.test(value)) return false;\n\n let checksum = 0;\n let multiplier = 1;\n\n for (let i = value.length; i > 0; i--) {\n const digit = Number(value[i - 1]) * multiplier;\n checksum += (digit % 10) + ~~(digit / 10);\n\n multiplier = (multiplier * 2) % 3;\n }\n\n return checksum % 10 === 0;\n}\n"]}
1
+ {"version":3,"file":"credit-card.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/credit-card.validator.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,kBAAkB;IAChC,OAAO,CAAC,OAAwB,EAA0B,EAAE;QAC1D,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;IAChF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa;IACtC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAEnC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEhD,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,UAAU,GAAG,CAAC,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;QACrC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;QAChD,QAAQ,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;QAE1C,UAAU,GAAG,CAAC,UAAU,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC;KACnC;IAED,OAAO,QAAQ,GAAG,EAAE,KAAK,CAAC,CAAC;AAC7B,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface CreditCardError {\r\n creditCard: true;\r\n}\r\n\r\nexport function validateCreditCard(): ValidatorFn {\r\n return (control: AbstractControl): CreditCardError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidCreditCard(String(control.value)) ? null : { creditCard: true };\r\n };\r\n}\r\n\r\nfunction isValidCreditCard(value: string): boolean {\r\n value = value.replace(/[ -]/g, '');\r\n\r\n if (!/^[0-9]{13,19}$/.test(value)) return false;\r\n\r\n let checksum = 0;\r\n let multiplier = 1;\r\n\r\n for (let i = value.length; i > 0; i--) {\r\n const digit = Number(value[i - 1]) * multiplier;\r\n checksum += (digit % 10) + ~~(digit / 10);\r\n\r\n multiplier = (multiplier * 2) % 3;\r\n }\r\n\r\n return checksum % 10 === 0;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK;IACpC,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,oBAAoB;IAClC,GAAG,EAAE,WAAW;CACjB,CAAC","sourcesContent":["import { Validators } from '@angular/forms';\nimport { validateMinAge } from './age.validator';\nimport { validateCreditCard } from './credit-card.validator';\nimport { validateRange } from './range.validator';\nimport { validateRequired } from './required.validator';\nimport { validateStringLength } from './string-length.validator';\nimport { validateUrl } from './url.validator';\nexport * from './age.validator';\nexport * from './credit-card.validator';\nexport * from './range.validator';\nexport * from './required.validator';\nexport * from './string-length.validator';\nexport * from './url.validator';\n\nexport const AbpValidators = {\n creditCard: validateCreditCard,\n emailAddress: () => Validators.email,\n minAge: validateMinAge,\n range: validateRange,\n required: validateRequired,\n stringLength: validateStringLength,\n url: validateUrl,\n};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,iBAAiB,CAAC;AAEhC,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,UAAU,EAAE,kBAAkB;IAC9B,YAAY,EAAE,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK;IACpC,MAAM,EAAE,cAAc;IACtB,KAAK,EAAE,aAAa;IACpB,QAAQ,EAAE,gBAAgB;IAC1B,YAAY,EAAE,oBAAoB;IAClC,GAAG,EAAE,WAAW;CACjB,CAAC","sourcesContent":["import { Validators } from '@angular/forms';\r\nimport { validateMinAge } from './age.validator';\r\nimport { validateCreditCard } from './credit-card.validator';\r\nimport { validateRange } from './range.validator';\r\nimport { validateRequired } from './required.validator';\r\nimport { validateStringLength } from './string-length.validator';\r\nimport { validateUrl } from './url.validator';\r\nexport * from './age.validator';\r\nexport * from './credit-card.validator';\r\nexport * from './range.validator';\r\nexport * from './required.validator';\r\nexport * from './string-length.validator';\r\nexport * from './url.validator';\r\n\r\nexport const AbpValidators = {\r\n creditCard: validateCreditCard,\r\n emailAddress: () => Validators.email,\r\n minAge: validateMinAge,\r\n range: validateRange,\r\n required: validateRequired,\r\n stringLength: validateStringLength,\r\n url: validateUrl,\r\n};\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"range.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/range.validator.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,GAAG,CAAC,KAAmB,EAAE;IAClF,OAAO,CAAC,OAAwB,EAAqB,EAAE;QACrD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RangeError {\n range: {\n max: number;\n min: number;\n };\n}\n\nexport interface RangeOptions {\n maximum?: number;\n minimum?: number;\n}\n\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\n return (control: AbstractControl): RangeError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = Number(control.value);\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\n };\n}\n\nfunction getMaxError(value: number, max: number, min: number): RangeError {\n return value > max ? { range: { max, min } } : null;\n}\n\nfunction getMinError(value: number, min: number, max: number): RangeError {\n return value < min ? { range: { min, max } } : null;\n}\n"]}
1
+ {"version":3,"file":"range.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/range.validator.ts"],"names":[],"mappings":"AAcA,MAAM,UAAU,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,EAAE,OAAO,GAAG,CAAC,KAAmB,EAAE;IAClF,OAAO,CAAC,OAAwB,EAAqB,EAAE;QACrD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpC,OAAO,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC1D,OAAO,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACtD,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RangeError {\r\n range: {\r\n max: number;\r\n min: number;\r\n };\r\n}\r\n\r\nexport interface RangeOptions {\r\n maximum?: number;\r\n minimum?: number;\r\n}\r\n\r\nexport function validateRange({ maximum = Infinity, minimum = 0 }: RangeOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): RangeError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = Number(control.value);\r\n return getMinError(value, minimum, maximum) || getMaxError(value, maximum, minimum);\r\n };\r\n}\r\n\r\nfunction getMaxError(value: number, max: number, min: number): RangeError {\r\n return value > max ? { range: { max, min } } : null;\r\n}\r\n\r\nfunction getMinError(value: number, min: number, max: number): RangeError {\r\n return value < min ? { range: { min, max } } : null;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"required.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/required.validator.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,gBAAgB,CAAC,EAAE,iBAAiB,KAAsB,EAAE;IAC1E,OAAO,CAAC,OAAwB,EAAwB,EAAE;QACxD,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAU,EAAE,iBAA0B;IAC7D,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAEzD,IAAI,iBAAiB,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface RequiredError {\n required: true;\n}\n\nexport interface RequiredOptions {\n allowEmptyStrings?: boolean;\n}\n\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\n return (control: AbstractControl): RequiredError | null => {\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\n };\n}\n\nfunction isValidRequired(value: any, allowEmptyStrings: boolean): boolean {\n if (value || value === 0 || value === false) return true;\n\n if (allowEmptyStrings && value === '') return true;\n\n return false;\n}\n"]}
1
+ {"version":3,"file":"required.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/required.validator.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,gBAAgB,CAAC,EAAE,iBAAiB,KAAsB,EAAE;IAC1E,OAAO,CAAC,OAAwB,EAAwB,EAAE;QACxD,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;IACvF,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,eAAe,CAAC,KAAU,EAAE,iBAA0B;IAC7D,IAAI,KAAK,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,KAAK;QAAE,OAAO,IAAI,CAAC;IAEzD,IAAI,iBAAiB,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,IAAI,CAAC;IAEnD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface RequiredError {\r\n required: true;\r\n}\r\n\r\nexport interface RequiredOptions {\r\n allowEmptyStrings?: boolean;\r\n}\r\n\r\nexport function validateRequired({ allowEmptyStrings }: RequiredOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): RequiredError | null => {\r\n return isValidRequired(control.value, allowEmptyStrings) ? null : { required: true };\r\n };\r\n}\r\n\r\nfunction isValidRequired(value: any, allowEmptyStrings: boolean): boolean {\r\n if (value || value === 0 || value === false) return true;\r\n\r\n if (allowEmptyStrings && value === '') return true;\r\n\r\n return false;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"string-length.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/string-length.validator.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,oBAAoB,CAAC,EACnC,aAAa,GAAG,QAAQ,EACxB,aAAa,GAAG,CAAC,MACM,EAAE;IACzB,OAAO,CAAC,OAAwB,EAA4B,EAAE;QAC5D,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5F,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,cAAsB;IAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,cAAsB;IAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface StringLengthError {\n maxlength?: {\n requiredLength: number;\n };\n minlength?: {\n requiredLength: number;\n };\n}\n\nexport interface StringLengthOptions {\n maximumLength?: number;\n minimumLength?: number;\n}\n\nexport function validateStringLength({\n maximumLength = Infinity,\n minimumLength = 0,\n}: StringLengthOptions = {}): ValidatorFn {\n return (control: AbstractControl): StringLengthError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n const value = String(control.value);\n\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\n };\n}\n\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\n}\n\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError {\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\n}\n"]}
1
+ {"version":3,"file":"string-length.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/string-length.validator.ts"],"names":[],"mappings":"AAgBA,MAAM,UAAU,oBAAoB,CAAC,EACnC,aAAa,GAAG,QAAQ,EACxB,aAAa,GAAG,CAAC,MACM,EAAE;IACzB,OAAO,CAAC,OAAwB,EAA4B,EAAE;QAC5D,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEpC,OAAO,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,IAAI,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,CAAC;IAC5F,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,cAAsB;IAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,SAAS,iBAAiB,CAAC,KAAa,EAAE,cAAsB;IAC9D,OAAO,KAAK,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface StringLengthError {\r\n maxlength?: {\r\n requiredLength: number;\r\n };\r\n minlength?: {\r\n requiredLength: number;\r\n };\r\n}\r\n\r\nexport interface StringLengthOptions {\r\n maximumLength?: number;\r\n minimumLength?: number;\r\n}\r\n\r\nexport function validateStringLength({\r\n maximumLength = Infinity,\r\n minimumLength = 0,\r\n}: StringLengthOptions = {}): ValidatorFn {\r\n return (control: AbstractControl): StringLengthError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n const value = String(control.value);\r\n\r\n return getMinLengthError(value, minimumLength) || getMaxLengthError(value, maximumLength);\r\n };\r\n}\r\n\r\nfunction getMaxLengthError(value: string, requiredLength: number): StringLengthError {\r\n return value.length > requiredLength ? { maxlength: { requiredLength } } : null;\r\n}\r\n\r\nfunction getMinLengthError(value: string, requiredLength: number): StringLengthError {\r\n return value.length < requiredLength ? { minlength: { requiredLength } } : null;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"url.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/url.validator.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,OAAwB,EAAmB,EAAE;QACnD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACnE,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QACf,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjB;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\n\nexport interface UrlError {\n url: true;\n}\n\nexport function validateUrl(): ValidatorFn {\n return (control: AbstractControl): UrlError | null => {\n if (['', null, undefined].indexOf(control.value) > -1) return null;\n\n return isValidUrl(control.value) ? null : { url: true };\n };\n}\n\nfunction isValidUrl(value: string): boolean {\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\n const a = document.createElement('a');\n a.href = value;\n return !!a.host;\n }\n\n return false;\n}\n"]}
1
+ {"version":3,"file":"url.validator.js","sourceRoot":"","sources":["../../../../../../packages/core/src/lib/validators/url.validator.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,WAAW;IACzB,OAAO,CAAC,OAAwB,EAAmB,EAAE;QACnD,IAAI,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAAE,OAAO,IAAI,CAAC;QAEnE,OAAO,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC;IAC1D,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,KAAa;IAC/B,IAAI,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACnE,MAAM,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACtC,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC;QACf,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;KACjB;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import { AbstractControl, ValidatorFn } from '@angular/forms';\r\n\r\nexport interface UrlError {\r\n url: true;\r\n}\r\n\r\nexport function validateUrl(): ValidatorFn {\r\n return (control: AbstractControl): UrlError | null => {\r\n if (['', null, undefined].indexOf(control.value) > -1) return null;\r\n\r\n return isValidUrl(control.value) ? null : { url: true };\r\n };\r\n}\r\n\r\nfunction isValidUrl(value: string): boolean {\r\n if (/^http(s)?:\\/\\/[^/]/.test(value) || /^ftp:\\/\\/[^/]/.test(value)) {\r\n const a = document.createElement('a');\r\n a.href = value;\r\n return !!a.host;\r\n }\r\n\r\n return false;\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../packages/core/locale/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './utils/register-locale';\n"]}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../packages/core/locale/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAC","sourcesContent":["export * from './utils/register-locale';\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"register-locale.js","sourceRoot":"","sources":["../../../../../../packages/core/locale/src/utils/register-locale.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS1C,IAAI,SAAS,GAAG,EAAE,CAAC;AAOnB,MAAM,UAAU,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,MACzC,EAAwB;IAE5B,OAAO,CAAC,MAAc,EAAgB,EAAE;QACtC,SAAS,mCAAQ,gBAAgB,GAAK,wBAAwB,CAAE,CAAC;QAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,MAAM;YACX,8BAA8B;YAC9B,gCAAgC;YAChC,2FAA2F;YAC3F,yCAAyC;YACzC,2BAA2B,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAC5D;iBACE,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,UAAU,eAAe,CAAC,IAAS,EAAE,QAAgB;IACzD,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,UAAgB,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B;;QAC1F,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,uIAAuI,CACjK,CAAC;SACH;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAAA","sourcesContent":["import { differentLocales } from '@abp/ng.core';\nimport { isDevMode } from '@angular/core';\n\nexport interface LocaleErrorHandlerData {\n resolve: any;\n reject: any;\n error: any;\n locale: string;\n}\n\nlet localeMap = {};\n\nexport interface RegisterLocaleData {\n cultureNameLocaleFileMap?: Record<string, string>;\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\n}\n\nexport function registerLocale(\n {\n cultureNameLocaleFileMap = {},\n errorHandlerFn = defaultLocalErrorHandlerFn,\n } = {} as RegisterLocaleData,\n) {\n return (locale: string): Promise<any> => {\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\n\n return new Promise((resolve, reject) => {\n return import(\n /* webpackMode: \"lazy-once\" */\n /* webpackChunkName: \"locales\"*/\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js/ */\n /* webpackExclude: /[/\\\\]global|extra/ */\n `@angular/common/locales/${localeMap[locale] || locale}.js`\n )\n .then(resolve)\n .catch(error => {\n errorHandlerFn({\n resolve,\n reject,\n error,\n locale,\n });\n });\n });\n };\n}\n\nconst extraLocales = {};\nexport function storeLocaleData(data: any, localeId: string) {\n extraLocales[localeId] = data;\n}\n\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\n if (extraLocales[locale]) {\n resolve({ default: extraLocales[localeMap[locale] || locale] });\n return;\n }\n\n if (isDevMode) {\n console.error(\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\n );\n }\n\n resolve();\n}\n"]}
1
+ {"version":3,"file":"register-locale.js","sourceRoot":"","sources":["../../../../../../packages/core/locale/src/utils/register-locale.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAS1C,IAAI,SAAS,GAAG,EAAE,CAAC;AAOnB,MAAM,UAAU,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,MACzC,EAAwB;IAE5B,OAAO,CAAC,MAAc,EAAgB,EAAE;QACtC,SAAS,mCAAQ,gBAAgB,GAAK,wBAAwB,CAAE,CAAC;QAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,OAAO,MAAM;YACX,8BAA8B;YAC9B,gCAAgC;YAChC,2FAA2F;YAC3F,yCAAyC;YACzC,2BAA2B,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAC5D;iBACE,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,KAAK,CAAC,EAAE;gBACb,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACL,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;AACxB,MAAM,UAAU,eAAe,CAAC,IAAS,EAAE,QAAgB;IACzD,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;AAED,MAAM,UAAgB,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B;;QAC1F,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,uIAAuI,CACjK,CAAC;SACH;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;CAAA","sourcesContent":["import { differentLocales } from '@abp/ng.core';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nexport interface LocaleErrorHandlerData {\r\n resolve: any;\r\n reject: any;\r\n error: any;\r\n locale: string;\r\n}\r\n\r\nlet localeMap = {};\r\n\r\nexport interface RegisterLocaleData {\r\n cultureNameLocaleFileMap?: Record<string, string>;\r\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\r\n}\r\n\r\nexport function registerLocale(\r\n {\r\n cultureNameLocaleFileMap = {},\r\n errorHandlerFn = defaultLocalErrorHandlerFn,\r\n } = {} as RegisterLocaleData,\r\n) {\r\n return (locale: string): Promise<any> => {\r\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\r\n\r\n return new Promise((resolve, reject) => {\r\n return import(\r\n /* webpackMode: \"lazy-once\" */\r\n /* webpackChunkName: \"locales\"*/\r\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js/ */\r\n /* webpackExclude: /[/\\\\]global|extra/ */\r\n `@angular/common/locales/${localeMap[locale] || locale}.js`\r\n )\r\n .then(resolve)\r\n .catch(error => {\r\n errorHandlerFn({\r\n resolve,\r\n reject,\r\n error,\r\n locale,\r\n });\r\n });\r\n });\r\n };\r\n}\r\n\r\nconst extraLocales = {};\r\nexport function storeLocaleData(data: any, localeId: string) {\r\n extraLocales[localeId] = data;\r\n}\r\n\r\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\r\n if (extraLocales[locale]) {\r\n resolve({ default: extraLocales[localeMap[locale] || locale] });\r\n return;\r\n }\r\n\r\n if (isDevMode) {\r\n console.error(\r\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\r\n );\r\n }\r\n\r\n resolve();\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../packages/core/src/public-api.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,kEAAkE,CAAC;AACjF,cAAc,mFAAmF,CAAC;AAClG,cAAc,qDAAqD,CAAC;AACpE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC","sourcesContent":["// export * from './lib/handlers';\nexport * from './lib/abstracts';\nexport * from './lib/components';\nexport * from './lib/constants';\nexport * from './lib/core.module';\nexport * from './lib/directives';\nexport * from './lib/enums';\nexport * from './lib/guards';\nexport * from './lib/interceptors';\nexport * from './lib/localization.module';\nexport * from './lib/models';\nexport * from './lib/pipes';\nexport * from './lib/proxy/pages/abp/multi-tenancy';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\nexport * from './lib/proxy/volo/abp/http/modeling';\nexport * from './lib/proxy/volo/abp/localization';\nexport * from './lib/proxy/volo/abp/models';\nexport * from './lib/services';\nexport * from './lib/strategies';\nexport * from './lib/tokens';\nexport * from './lib/utils';\nexport * from './lib/validators';\n"]}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../packages/core/src/public-api.ts"],"names":[],"mappings":"AAAA,kCAAkC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,qCAAqC,CAAC;AACpD,cAAc,qDAAqD,CAAC;AACpE,cAAc,kEAAkE,CAAC;AACjF,cAAc,mFAAmF,CAAC;AAClG,cAAc,qDAAqD,CAAC;AACpE,cAAc,oCAAoC,CAAC;AACnD,cAAc,mCAAmC,CAAC;AAClD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,kBAAkB,CAAC","sourcesContent":["// export * from './lib/handlers';\r\nexport * from './lib/abstracts';\r\nexport * from './lib/components';\r\nexport * from './lib/constants';\r\nexport * from './lib/core.module';\r\nexport * from './lib/directives';\r\nexport * from './lib/enums';\r\nexport * from './lib/guards';\r\nexport * from './lib/interceptors';\r\nexport * from './lib/localization.module';\r\nexport * from './lib/models';\r\nexport * from './lib/pipes';\r\nexport * from './lib/proxy/pages/abp/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/api-exploring';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/application-configurations/object-extending';\r\nexport * from './lib/proxy/volo/abp/asp-net-core/mvc/multi-tenancy';\r\nexport * from './lib/proxy/volo/abp/http/modeling';\r\nexport * from './lib/proxy/volo/abp/localization';\r\nexport * from './lib/proxy/volo/abp/models';\r\nexport * from './lib/services';\r\nexport * from './lib/strategies';\r\nexport * from './lib/tokens';\r\nexport * from './lib/utils';\r\nexport * from './lib/validators';\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"core-testing.module.js","sourceRoot":"","sources":["../../../../../../packages/core/testing/src/lib/core-testing.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAE/D;;;GAGG;AAKH,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,UAAU,CACf,KAAyE,EAAc;YAAvF,EAAE,QAAQ,GAAG,GAAG,EAAE,qBAAqB,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,OAA+B,EAA1B,OAAO,cAApE,+CAAsE,CAAF;QAEpE,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC9C;oBACE,OAAO,EAAE,cAAc;oBACvB,QAAQ,kBACN,uBAAuB,EAAE,IAAI,IAC1B,OAAO,CACX;iBACF;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAE,kBAAkB;oBAC9B,IAAI,EAAE,CAAC,cAAc,CAAC;iBACvB;gBACD;oBACE,OAAO,EAAE,wBAAwB;oBACjC,QAAQ,EAAE,qBAAqB;iBAChC;gBACD;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,qBAAqB;iBAChC;gBACD;oBACE,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,CAAC;iBACZ;gBACD,aAAa,CAAC,MAAM,CAAC;aACtB;SACF,CAAC;IACJ,CAAC;;8GAvCU,iBAAiB;+GAAjB,iBAAiB,YAFlB,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,aADzD,mBAAmB,EAAE,cAAc;+GAGlC,iBAAiB,YAFnB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAD1D,mBAAmB,EAAE,cAAc;2FAGlC,iBAAiB;kBAJ7B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;oBAC9C,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC;iBACrE","sourcesContent":["import {\n ABP,\n BaseCoreModule,\n coreOptionsFactory,\n CORE_OPTIONS,\n LIST_QUERY_DEBOUNCE_TIME,\n LOADER_DELAY,\n PermissionService,\n RestService,\n} from '@abp/ng.core';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { provideRoutes } from '@angular/router';\nimport { RouterTestingModule } from '@angular/router/testing';\nimport { MockPermissionService } from './services/mock-permission.service';\nimport { MockRestService } from './services/mock-rest.service';\n\n/**\n * CoreTestingModule is the module that will be used in tests\n * and it provides mock alternatives\n */\n@NgModule({\n exports: [RouterTestingModule, BaseCoreModule],\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\n})\nexport class CoreTestingModule {\n static withConfig(\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\n ): ModuleWithProviders<CoreTestingModule> {\n return {\n ngModule: CoreTestingModule,\n providers: [\n { provide: APP_BASE_HREF, useValue: baseHref },\n {\n provide: 'CORE_OPTIONS',\n useValue: {\n skipGetAppConfiguration: true,\n ...options,\n },\n },\n {\n provide: CORE_OPTIONS,\n useFactory: coreOptionsFactory,\n deps: ['CORE_OPTIONS'],\n },\n {\n provide: LIST_QUERY_DEBOUNCE_TIME,\n useValue: listQueryDebounceTime,\n },\n {\n provide: PermissionService,\n useClass: MockPermissionService,\n },\n {\n provide: RestService,\n useClass: MockRestService,\n },\n {\n provide: LOADER_DELAY,\n useValue: 0,\n },\n provideRoutes(routes),\n ],\n };\n }\n}\n"]}
1
+ {"version":3,"file":"core-testing.module.js","sourceRoot":"","sources":["../../../../../../packages/core/testing/src/lib/core-testing.module.ts"],"names":[],"mappings":";AAAA,OAAO,EAEL,cAAc,EACd,kBAAkB,EAClB,YAAY,EACZ,wBAAwB,EACxB,YAAY,EACZ,iBAAiB,EACjB,WAAW,GACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAuB,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;;AAE/D;;;GAGG;AAKH,MAAM,OAAO,iBAAiB;IAC5B,MAAM,CAAC,UAAU,CACf,KAAyE,EAAc;YAAvF,EAAE,QAAQ,GAAG,GAAG,EAAE,qBAAqB,GAAG,CAAC,EAAE,MAAM,GAAG,EAAE,OAA+B,EAA1B,OAAO,cAApE,+CAAsE,CAAF;QAEpE,OAAO;YACL,QAAQ,EAAE,iBAAiB;YAC3B,SAAS,EAAE;gBACT,EAAE,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,QAAQ,EAAE;gBAC9C;oBACE,OAAO,EAAE,cAAc;oBACvB,QAAQ,kBACN,uBAAuB,EAAE,IAAI,IAC1B,OAAO,CACX;iBACF;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,UAAU,EAAE,kBAAkB;oBAC9B,IAAI,EAAE,CAAC,cAAc,CAAC;iBACvB;gBACD;oBACE,OAAO,EAAE,wBAAwB;oBACjC,QAAQ,EAAE,qBAAqB;iBAChC;gBACD;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,qBAAqB;iBAChC;gBACD;oBACE,OAAO,EAAE,WAAW;oBACpB,QAAQ,EAAE,eAAe;iBAC1B;gBACD;oBACE,OAAO,EAAE,YAAY;oBACrB,QAAQ,EAAE,CAAC;iBACZ;gBACD,aAAa,CAAC,MAAM,CAAC;aACtB;SACF,CAAC;IACJ,CAAC;;8GAvCU,iBAAiB;+GAAjB,iBAAiB,YAFlB,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,aADzD,mBAAmB,EAAE,cAAc;+GAGlC,iBAAiB,YAFnB,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC,EAD1D,mBAAmB,EAAE,cAAc;2FAGlC,iBAAiB;kBAJ7B,QAAQ;mBAAC;oBACR,OAAO,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;oBAC9C,OAAO,EAAE,CAAC,oBAAoB,EAAE,mBAAmB,EAAE,cAAc,CAAC;iBACrE","sourcesContent":["import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './mock-permission.service';\nexport * from './mock-rest.service';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qBAAqB,CAAC","sourcesContent":["export * from './mock-permission.service';\r\nexport * from './mock-rest.service';\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-permission.service.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/services/mock-permission.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;;AAK3C,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAC1D,YAAsB,WAA+B;QACnD,KAAK,CAAC,WAAW,CAAC,CAAC;QADC,gBAAW,GAAX,WAAW,CAAoB;QAEnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,EAAE,EACF;YACE,GAAG;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CACF,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,aAAa,CAAC,IAAc;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;;kHA1BU,qBAAqB;sHAArB,qBAAqB,cAFpB,MAAM;2FAEP,qBAAqB;kBAHjC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB","sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockPermissionService extends PermissionService {\n constructor(protected configState: ConfigStateService) {\n super(configState);\n this.grantAllPolicies();\n }\n\n grantAllPolicies() {\n const grantedPolicies = new Proxy(\n {},\n {\n get() {\n return true;\n },\n },\n );\n\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\n }\n\n grantPolicies(keys: string[]) {\n const grantedPolicies = keys.reduce((policies, key) => {\n policies[key] = true;\n return policies;\n }, {});\n\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\n }\n}\n"]}
1
+ {"version":3,"file":"mock-permission.service.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/services/mock-permission.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;;;AAK3C,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IAC1D,YAAsB,WAA+B;QACnD,KAAK,CAAC,WAAW,CAAC,CAAC;QADC,gBAAW,GAAX,WAAW,CAAoB;QAEnD,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC1B,CAAC;IAED,gBAAgB;QACd,MAAM,eAAe,GAAG,IAAI,KAAK,CAC/B,EAAE,EACF;YACE,GAAG;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;SACF,CACF,CAAC;QAEF,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;IAED,aAAa,CAAC,IAAc;QAC1B,MAAM,eAAe,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;YACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACrB,OAAO,QAAQ,CAAC;QAClB,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC;IACrE,CAAC;;kHA1BU,qBAAqB;sHAArB,qBAAqB,cAFpB,MAAM;2FAEP,qBAAqB;kBAHjC,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB","sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {});\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-rest.service.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/services/mock-rest.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,UAAU,EAAE,MAAM,MAAM,CAAC;;;;AAK9C,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YACkC,OAAiB,EACvC,IAAgB,EAChB,WAA+B;QAEzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAJR,YAAO,GAAP,OAAO,CAAU;QACvC,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAoB;IAG3C,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;;4GAXU,eAAe,kBAEhB,YAAY;gHAFX,eAAe,cAFd,MAAM;2FAEP,eAAe;kBAH3B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;0BAGI,MAAM;2BAAC,YAAY","sourcesContent":["import { ABP, CORE_OPTIONS, EnvironmentService, RestService } from '@abp/ng.core';\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockRestService extends RestService {\n constructor(\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\n protected http: HttpClient,\n protected environment: EnvironmentService,\n ) {\n super(options, http, environment, null);\n }\n\n handleError(err: any): Observable<any> {\n return throwError(err);\n }\n}\n"]}
1
+ {"version":3,"file":"mock-rest.service.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/services/mock-rest.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAO,YAAY,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAClF,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAc,UAAU,EAAE,MAAM,MAAM,CAAC;;;;AAK9C,MAAM,OAAO,eAAgB,SAAQ,WAAW;IAC9C,YACkC,OAAiB,EACvC,IAAgB,EAChB,WAA+B;QAEzC,KAAK,CAAC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;QAJR,YAAO,GAAP,OAAO,CAAU;QACvC,SAAI,GAAJ,IAAI,CAAY;QAChB,gBAAW,GAAX,WAAW,CAAoB;IAG3C,CAAC;IAED,WAAW,CAAC,GAAQ;QAClB,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;;4GAXU,eAAe,kBAEhB,YAAY;gHAFX,eAAe,cAFd,MAAM;2FAEP,eAAe;kBAH3B,UAAU;mBAAC;oBACV,UAAU,EAAE,MAAM;iBACnB;;0BAGI,MAAM;2BAAC,YAAY","sourcesContent":["import { ABP, CORE_OPTIONS, EnvironmentService, RestService } from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"clear-page.util.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/utils/clear-page.util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAgB,QAA6B;IACpE,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\n\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\n if (!document) return;\n\n const elements = document.querySelectorAll('body > *');\n elements.forEach(element => {\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\n });\n}\n"]}
1
+ {"version":3,"file":"clear-page.util.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/utils/clear-page.util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,SAAS,CAAgB,QAA6B;IACpE,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,MAAM,QAAQ,GAAG,QAAQ,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACvD,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE;QACzB,IAAI,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;YAAE,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC/E,CAAC,CAAC,CAAC;AACL,CAAC","sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC","sourcesContent":["export * from './clear-page.util';\nexport * from './wait.util';\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC","sourcesContent":["export * from './clear-page.util';\r\nexport * from './wait.util';\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"wait.util.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/utils/wait.util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAgB,OAA4B,EAAE,OAAO,GAAG,CAAC;IAC3E,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\n\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\n fixture.detectChanges();\n return new Promise(res => setTimeout(res, timeout));\n}\n"]}
1
+ {"version":3,"file":"wait.util.js","sourceRoot":"","sources":["../../../../../../../packages/core/testing/src/lib/utils/wait.util.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,IAAI,CAAgB,OAA4B,EAAE,OAAO,GAAG,CAAC;IAC3E,OAAO,CAAC,aAAa,EAAE,CAAC;IACxB,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC;AACtD,CAAC","sourcesContent":["import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../packages/core/testing/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC","sourcesContent":["export * from './lib/core-testing.module';\nexport * from './lib/services';\nexport * from './lib/utils';\n"]}
1
+ {"version":3,"file":"public-api.js","sourceRoot":"","sources":["../../../../../packages/core/testing/src/public-api.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC","sourcesContent":["export * from './lib/core-testing.module';\r\nexport * from './lib/services';\r\nexport * from './lib/utils';\r\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core-locale.js","sources":["../../../../packages/core/locale/src/utils/register-locale.ts","../../../../packages/core/locale/src/abp-ng.core-locale.ts"],"sourcesContent":["import { differentLocales } from '@abp/ng.core';\nimport { isDevMode } from '@angular/core';\n\nexport interface LocaleErrorHandlerData {\n resolve: any;\n reject: any;\n error: any;\n locale: string;\n}\n\nlet localeMap = {};\n\nexport interface RegisterLocaleData {\n cultureNameLocaleFileMap?: Record<string, string>;\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\n}\n\nexport function registerLocale(\n {\n cultureNameLocaleFileMap = {},\n errorHandlerFn = defaultLocalErrorHandlerFn,\n } = {} as RegisterLocaleData,\n) {\n return (locale: string): Promise<any> => {\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\n\n return new Promise((resolve, reject) => {\n return import(\n /* webpackMode: \"lazy-once\" */\n /* webpackChunkName: \"locales\"*/\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js/ */\n /* webpackExclude: /[/\\\\]global|extra/ */\n `@angular/common/locales/${localeMap[locale] || locale}.js`\n )\n .then(resolve)\n .catch(error => {\n errorHandlerFn({\n resolve,\n reject,\n error,\n locale,\n });\n });\n });\n };\n}\n\nconst extraLocales = {};\nexport function storeLocaleData(data: any, localeId: string) {\n extraLocales[localeId] = data;\n}\n\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\n if (extraLocales[locale]) {\n resolve({ default: extraLocales[localeMap[locale] || locale] });\n return;\n }\n\n if (isDevMode) {\n console.error(\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\n );\n }\n\n resolve();\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAUA,IAAI,SAAS,GAAG,EAAE,CAAC;SAOH,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,MACzC,EAAwB;IAE5B,OAAO,CAAC,MAAc;QACpB,SAAS,mCAAQ,gBAAgB,GAAK,wBAAwB,CAAE,CAAC;QAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YACjC,OAAO;;;;;YAKL,2BAA2B,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAC5D;iBACE,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,KAAK;gBACV,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;aACJ,CAAC,CAAC;SACN,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;SACR,eAAe,CAAC,IAAS,EAAE,QAAgB;IACzD,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;SAEqB,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B;;QAC1F,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,uIAAuI,CACjK,CAAC;SACH;QAED,OAAO,EAAE,CAAC;KACX;;;ACjED;;;;;;"}
1
+ {"version":3,"file":"abp-ng.core-locale.js","sources":["../../../../packages/core/locale/src/utils/register-locale.ts","../../../../packages/core/locale/src/abp-ng.core-locale.ts"],"sourcesContent":["import { differentLocales } from '@abp/ng.core';\r\nimport { isDevMode } from '@angular/core';\r\n\r\nexport interface LocaleErrorHandlerData {\r\n resolve: any;\r\n reject: any;\r\n error: any;\r\n locale: string;\r\n}\r\n\r\nlet localeMap = {};\r\n\r\nexport interface RegisterLocaleData {\r\n cultureNameLocaleFileMap?: Record<string, string>;\r\n errorHandlerFn?: (data: LocaleErrorHandlerData) => any;\r\n}\r\n\r\nexport function registerLocale(\r\n {\r\n cultureNameLocaleFileMap = {},\r\n errorHandlerFn = defaultLocalErrorHandlerFn,\r\n } = {} as RegisterLocaleData,\r\n) {\r\n return (locale: string): Promise<any> => {\r\n localeMap = { ...differentLocales, ...cultureNameLocaleFileMap };\r\n\r\n return new Promise((resolve, reject) => {\r\n return import(\r\n /* webpackMode: \"lazy-once\" */\r\n /* webpackChunkName: \"locales\"*/\r\n /* webpackInclude: /[/\\\\](ar|cs|en|en-GB|es|de|fi|fr|pt|tr|ru|hu|sl|zh-Hans|zh-Hant).js/ */\r\n /* webpackExclude: /[/\\\\]global|extra/ */\r\n `@angular/common/locales/${localeMap[locale] || locale}.js`\r\n )\r\n .then(resolve)\r\n .catch(error => {\r\n errorHandlerFn({\r\n resolve,\r\n reject,\r\n error,\r\n locale,\r\n });\r\n });\r\n });\r\n };\r\n}\r\n\r\nconst extraLocales = {};\r\nexport function storeLocaleData(data: any, localeId: string) {\r\n extraLocales[localeId] = data;\r\n}\r\n\r\nexport async function defaultLocalErrorHandlerFn({ locale, resolve }: LocaleErrorHandlerData) {\r\n if (extraLocales[locale]) {\r\n resolve({ default: extraLocales[localeMap[locale] || locale] });\r\n return;\r\n }\r\n\r\n if (isDevMode) {\r\n console.error(\r\n `Cannot find the ${locale} locale file. You can check how can add new culture at https://docs.abp.io/en/abp/latest/UI/Angular/Localization#adding-a-new-culture`,\r\n );\r\n }\r\n\r\n resolve();\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;AAUA,IAAI,SAAS,GAAG,EAAE,CAAC;SAOH,cAAc,CAC5B,EACE,wBAAwB,GAAG,EAAE,EAC7B,cAAc,GAAG,0BAA0B,MACzC,EAAwB;IAE5B,OAAO,CAAC,MAAc;QACpB,SAAS,mCAAQ,gBAAgB,GAAK,wBAAwB,CAAE,CAAC;QAEjE,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM;YACjC,OAAO;;;;;YAKL,2BAA2B,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAC5D;iBACE,IAAI,CAAC,OAAO,CAAC;iBACb,KAAK,CAAC,KAAK;gBACV,cAAc,CAAC;oBACb,OAAO;oBACP,MAAM;oBACN,KAAK;oBACL,MAAM;iBACP,CAAC,CAAC;aACJ,CAAC,CAAC;SACN,CAAC,CAAC;KACJ,CAAC;AACJ,CAAC;AAED,MAAM,YAAY,GAAG,EAAE,CAAC;SACR,eAAe,CAAC,IAAS,EAAE,QAAgB;IACzD,YAAY,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;AAChC,CAAC;SAEqB,0BAA0B,CAAC,EAAE,MAAM,EAAE,OAAO,EAA0B;;QAC1F,IAAI,YAAY,CAAC,MAAM,CAAC,EAAE;YACxB,OAAO,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO;SACR;QAED,IAAI,SAAS,EAAE;YACb,OAAO,CAAC,KAAK,CACX,mBAAmB,MAAM,uIAAuI,CACjK,CAAC;SACH;QAED,OAAO,EAAE,CAAC;KACX;;;ACjED;;;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"abp-ng.core-testing.js","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\nimport { Injectable } from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockPermissionService extends PermissionService {\n constructor(protected configState: ConfigStateService) {\n super(configState);\n this.grantAllPolicies();\n }\n\n grantAllPolicies() {\n const grantedPolicies = new Proxy(\n {},\n {\n get() {\n return true;\n },\n },\n );\n\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\n }\n\n grantPolicies(keys: string[]) {\n const grantedPolicies = keys.reduce((policies, key) => {\n policies[key] = true;\n return policies;\n }, {});\n\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\n }\n}\n","import { ABP, CORE_OPTIONS, EnvironmentService, RestService } from '@abp/ng.core';\nimport { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { Observable, throwError } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class MockRestService extends RestService {\n constructor(\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\n protected http: HttpClient,\n protected environment: EnvironmentService,\n ) {\n super(options, http, environment, null);\n }\n\n handleError(err: any): Observable<any> {\n return throwError(err);\n }\n}\n","import {\n ABP,\n BaseCoreModule,\n coreOptionsFactory,\n CORE_OPTIONS,\n LIST_QUERY_DEBOUNCE_TIME,\n LOADER_DELAY,\n PermissionService,\n RestService,\n} from '@abp/ng.core';\nimport { APP_BASE_HREF } from '@angular/common';\nimport { ModuleWithProviders, NgModule } from '@angular/core';\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\nimport { provideRoutes } from '@angular/router';\nimport { RouterTestingModule } from '@angular/router/testing';\nimport { MockPermissionService } from './services/mock-permission.service';\nimport { MockRestService } from './services/mock-rest.service';\n\n/**\n * CoreTestingModule is the module that will be used in tests\n * and it provides mock alternatives\n */\n@NgModule({\n exports: [RouterTestingModule, BaseCoreModule],\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\n})\nexport class CoreTestingModule {\n static withConfig(\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\n ): ModuleWithProviders<CoreTestingModule> {\n return {\n ngModule: CoreTestingModule,\n providers: [\n { provide: APP_BASE_HREF, useValue: baseHref },\n {\n provide: 'CORE_OPTIONS',\n useValue: {\n skipGetAppConfiguration: true,\n ...options,\n },\n },\n {\n provide: CORE_OPTIONS,\n useFactory: coreOptionsFactory,\n deps: ['CORE_OPTIONS'],\n },\n {\n provide: LIST_QUERY_DEBOUNCE_TIME,\n useValue: listQueryDebounceTime,\n },\n {\n provide: PermissionService,\n useClass: MockPermissionService,\n },\n {\n provide: RestService,\n useClass: MockRestService,\n },\n {\n provide: LOADER_DELAY,\n useValue: 0,\n },\n provideRoutes(routes),\n ],\n };\n }\n}\n","import { ComponentFixture } from '@angular/core/testing';\n\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\n if (!document) return;\n\n const elements = document.querySelectorAll('body > *');\n elements.forEach(element => {\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\n });\n}\n","import { ComponentFixture } from '@angular/core/testing';\n\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\n fixture.detectChanges();\n return new Promise(res => setTimeout(res, timeout));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abp-ng.core-testing.js","sources":["../../../../packages/core/testing/src/lib/services/mock-permission.service.ts","../../../../packages/core/testing/src/lib/services/mock-rest.service.ts","../../../../packages/core/testing/src/lib/core-testing.module.ts","../../../../packages/core/testing/src/lib/utils/clear-page.util.ts","../../../../packages/core/testing/src/lib/utils/wait.util.ts","../../../../packages/core/testing/src/abp-ng.core-testing.ts"],"sourcesContent":["import { ConfigStateService, PermissionService } from '@abp/ng.core';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockPermissionService extends PermissionService {\r\n constructor(protected configState: ConfigStateService) {\r\n super(configState);\r\n this.grantAllPolicies();\r\n }\r\n\r\n grantAllPolicies() {\r\n const grantedPolicies = new Proxy(\r\n {},\r\n {\r\n get() {\r\n return true;\r\n },\r\n },\r\n );\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n\r\n grantPolicies(keys: string[]) {\r\n const grantedPolicies = keys.reduce((policies, key) => {\r\n policies[key] = true;\r\n return policies;\r\n }, {});\r\n\r\n this.configState['store'].deepPatch({ auth: { grantedPolicies } });\r\n }\r\n}\r\n","import { ABP, CORE_OPTIONS, EnvironmentService, RestService } from '@abp/ng.core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Inject, Injectable } from '@angular/core';\r\nimport { Observable, throwError } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MockRestService extends RestService {\r\n constructor(\r\n @Inject(CORE_OPTIONS) protected options: ABP.Root,\r\n protected http: HttpClient,\r\n protected environment: EnvironmentService,\r\n ) {\r\n super(options, http, environment, null);\r\n }\r\n\r\n handleError(err: any): Observable<any> {\r\n return throwError(err);\r\n }\r\n}\r\n","import {\r\n ABP,\r\n BaseCoreModule,\r\n coreOptionsFactory,\r\n CORE_OPTIONS,\r\n LIST_QUERY_DEBOUNCE_TIME,\r\n LOADER_DELAY,\r\n PermissionService,\r\n RestService,\r\n} from '@abp/ng.core';\r\nimport { APP_BASE_HREF } from '@angular/common';\r\nimport { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { NoopAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { provideRoutes } from '@angular/router';\r\nimport { RouterTestingModule } from '@angular/router/testing';\r\nimport { MockPermissionService } from './services/mock-permission.service';\r\nimport { MockRestService } from './services/mock-rest.service';\r\n\r\n/**\r\n * CoreTestingModule is the module that will be used in tests\r\n * and it provides mock alternatives\r\n */\r\n@NgModule({\r\n exports: [RouterTestingModule, BaseCoreModule],\r\n imports: [NoopAnimationsModule, RouterTestingModule, BaseCoreModule],\r\n})\r\nexport class CoreTestingModule {\r\n static withConfig(\r\n { baseHref = '/', listQueryDebounceTime = 0, routes = [], ...options } = {} as ABP.Test,\r\n ): ModuleWithProviders<CoreTestingModule> {\r\n return {\r\n ngModule: CoreTestingModule,\r\n providers: [\r\n { provide: APP_BASE_HREF, useValue: baseHref },\r\n {\r\n provide: 'CORE_OPTIONS',\r\n useValue: {\r\n skipGetAppConfiguration: true,\r\n ...options,\r\n },\r\n },\r\n {\r\n provide: CORE_OPTIONS,\r\n useFactory: coreOptionsFactory,\r\n deps: ['CORE_OPTIONS'],\r\n },\r\n {\r\n provide: LIST_QUERY_DEBOUNCE_TIME,\r\n useValue: listQueryDebounceTime,\r\n },\r\n {\r\n provide: PermissionService,\r\n useClass: MockPermissionService,\r\n },\r\n {\r\n provide: RestService,\r\n useClass: MockRestService,\r\n },\r\n {\r\n provide: LOADER_DELAY,\r\n useValue: 0,\r\n },\r\n provideRoutes(routes),\r\n ],\r\n };\r\n }\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function clearPage<T extends any>(_fixture: ComponentFixture<T>) {\r\n if (!document) return;\r\n\r\n const elements = document.querySelectorAll('body > *');\r\n elements.forEach(element => {\r\n if (/^(abp|ngb)-/i.test(element.tagName)) document.body.removeChild(element);\r\n });\r\n}\r\n","import { ComponentFixture } from '@angular/core/testing';\r\n\r\nexport function wait<T extends any>(fixture: ComponentFixture<T>, timeout = 0) {\r\n fixture.detectChanges();\r\n return new Promise(res => setTimeout(res, timeout));\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
@@ -1147,23 +1147,23 @@ class DynamicLayoutComponent {
1147
1147
  }
1148
1148
  }
1149
1149
  DynamicLayoutComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DynamicLayoutComponent, deps: [{ token: i0.Injector }, { token: LocalizationService }, { token: ReplaceableComponentsService }, { token: SubscriptionService }, { token: RouterEvents }, { token: DynamicLayoutComponent, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.Component });
1150
- DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
1151
- <ng-container *ngTemplateOutlet="layout ? componentOutlet : routerOutlet"></ng-container>
1152
- <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>
1153
- <ng-template #componentOutlet
1154
- ><ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container
1155
- ></ng-template>
1150
+ DynamicLayoutComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: DynamicLayoutComponent, selector: "abp-dynamic-layout", providers: [SubscriptionService], ngImport: i0, template: `
1151
+ <ng-container *ngTemplateOutlet="layout ? componentOutlet : routerOutlet"></ng-container>
1152
+ <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>
1153
+ <ng-template #componentOutlet
1154
+ ><ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container
1155
+ ></ng-template>
1156
1156
  `, isInline: true, directives: [{ type: i5.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i1$1.RouterOutlet, selector: "router-outlet", outputs: ["activate", "deactivate"], exportAs: ["outlet"] }, { type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
1157
1157
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: DynamicLayoutComponent, decorators: [{
1158
1158
  type: Component,
1159
1159
  args: [{
1160
1160
  selector: 'abp-dynamic-layout',
1161
- template: `
1162
- <ng-container *ngTemplateOutlet="layout ? componentOutlet : routerOutlet"></ng-container>
1163
- <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>
1164
- <ng-template #componentOutlet
1165
- ><ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container
1166
- ></ng-template>
1161
+ template: `
1162
+ <ng-container *ngTemplateOutlet="layout ? componentOutlet : routerOutlet"></ng-container>
1163
+ <ng-template #routerOutlet><router-outlet></router-outlet></ng-template>
1164
+ <ng-template #componentOutlet
1165
+ ><ng-container *ngIf="isLayoutVisible" [ngComponentOutlet]="layout"></ng-container
1166
+ ></ng-template>
1167
1167
  `,
1168
1168
  providers: [SubscriptionService],
1169
1169
  }]
@@ -1191,15 +1191,15 @@ class ReplaceableRouteContainerComponent {
1191
1191
  }
1192
1192
  }
1193
1193
  ReplaceableRouteContainerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ReplaceableRouteContainerComponent, deps: [{ token: i1$1.ActivatedRoute }, { token: ReplaceableComponentsService }, { token: SubscriptionService }], target: i0.ɵɵFactoryTarget.Component });
1194
- ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
1195
- <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1194
+ ReplaceableRouteContainerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.6", type: ReplaceableRouteContainerComponent, selector: "abp-replaceable-route-container", providers: [SubscriptionService], ngImport: i0, template: `
1195
+ <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1196
1196
  `, isInline: true, directives: [{ type: i5.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInjector", "ngComponentOutletContent", "ngComponentOutletNgModuleFactory"] }] });
1197
1197
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.6", ngImport: i0, type: ReplaceableRouteContainerComponent, decorators: [{
1198
1198
  type: Component,
1199
1199
  args: [{
1200
1200
  selector: 'abp-replaceable-route-container',
1201
- template: `
1202
- <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1201
+ template: `
1202
+ <ng-container *ngComponentOutlet="externalComponent || defaultComponent"></ng-container>
1203
1203
  `,
1204
1204
  providers: [SubscriptionService],
1205
1205
  }]
@@ -3777,13 +3777,17 @@ const CONTENT_SECURITY_STRATEGY = {
3777
3777
  };
3778
3778
 
3779
3779
  class ContentStrategy {
3780
- constructor(content, domStrategy = DOM_STRATEGY.AppendToHead(), contentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None()) {
3780
+ constructor(content, domStrategy = DOM_STRATEGY.AppendToHead(), contentSecurityStrategy = CONTENT_SECURITY_STRATEGY.None(), options = {}) {
3781
3781
  this.content = content;
3782
3782
  this.domStrategy = domStrategy;
3783
3783
  this.contentSecurityStrategy = contentSecurityStrategy;
3784
+ this.options = options;
3784
3785
  }
3785
3786
  insertElement() {
3786
3787
  const element = this.createElement();
3788
+ if (this.options && Object.keys(this.options).length > 0) {
3789
+ Object.keys(this.options).forEach(key => (element[key] = this.options[key]));
3790
+ }
3787
3791
  this.contentSecurityStrategy.applyCSP(element);
3788
3792
  this.domStrategy.insertElement(element);
3789
3793
  return element;
@@ -3804,17 +3808,17 @@ class ScriptContentStrategy extends ContentStrategy {
3804
3808
  }
3805
3809
  }
3806
3810
  const CONTENT_STRATEGY = {
3807
- AppendScriptToBody(content) {
3808
- return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody());
3811
+ AppendScriptToBody(content, options) {
3812
+ return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToBody(), undefined, options);
3809
3813
  },
3810
- AppendScriptToHead(content) {
3811
- return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead());
3814
+ AppendScriptToHead(content, options) {
3815
+ return new ScriptContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
3812
3816
  },
3813
- AppendStyleToHead(content) {
3814
- return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead());
3817
+ AppendStyleToHead(content, options) {
3818
+ return new StyleContentStrategy(content, DOM_STRATEGY.AppendToHead(), undefined, options);
3815
3819
  },
3816
- PrependStyleToHead(content) {
3817
- return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead());
3820
+ PrependStyleToHead(content, options) {
3821
+ return new StyleContentStrategy(content, DOM_STRATEGY.PrependToHead(), undefined, options);
3818
3822
  },
3819
3823
  };
3820
3824