@bpd-library/utilities 1.2.8-beta.1 → 1.2.8-beta.2

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 (298) hide show
  1. package/coverage/base.css +224 -0
  2. package/coverage/block-navigation.js +79 -0
  3. package/coverage/index.html +95 -0
  4. package/coverage/lcov.info +0 -0
  5. package/coverage/prettify.css +1 -0
  6. package/coverage/prettify.js +2 -0
  7. package/coverage/sort-arrow-sprite.png +0 -0
  8. package/coverage/sorter.js +170 -0
  9. package/dist/hooks/use-stylesheet.d.ts +15 -1
  10. package/dist/hooks/use-stylesheet.js +79 -3
  11. package/dist/hooks/use-stylesheet.js.map +1 -1
  12. package/package.json +3 -3
  13. package/yarn-error.log +8117 -0
  14. package/dist/esm/api/http.js +0 -120
  15. package/dist/esm/api/http.js.map +0 -1
  16. package/dist/esm/api/index.js +0 -11
  17. package/dist/esm/api/index.js.map +0 -1
  18. package/dist/esm/api-utilities/compose-exclude-string.js +0 -6
  19. package/dist/esm/api-utilities/compose-exclude-string.js.map +0 -1
  20. package/dist/esm/api-utilities/decimal-range/merge-decimal-range.js +0 -13
  21. package/dist/esm/api-utilities/decimal-range/merge-decimal-range.js.map +0 -1
  22. package/dist/esm/api-utilities/decimal-range/merge-specification-range.js +0 -29
  23. package/dist/esm/api-utilities/decimal-range/merge-specification-range.js.map +0 -1
  24. package/dist/esm/api-utilities/district-status.js +0 -14
  25. package/dist/esm/api-utilities/district-status.js.map +0 -1
  26. package/dist/esm/api-utilities/find-filter.js +0 -41
  27. package/dist/esm/api-utilities/find-filter.js.map +0 -1
  28. package/dist/esm/api-utilities/get/coordinates.js +0 -31
  29. package/dist/esm/api-utilities/get/coordinates.js.map +0 -1
  30. package/dist/esm/api-utilities/get/layer-raster.js +0 -4
  31. package/dist/esm/api-utilities/get/layer-raster.js.map +0 -1
  32. package/dist/esm/api-utilities/show-mortgage-price.js +0 -11
  33. package/dist/esm/api-utilities/show-mortgage-price.js.map +0 -1
  34. package/dist/esm/api-utilities/show-price.js +0 -13
  35. package/dist/esm/api-utilities/show-price.js.map +0 -1
  36. package/dist/esm/constants/index.js +0 -7
  37. package/dist/esm/constants/index.js.map +0 -1
  38. package/dist/esm/date.js +0 -11
  39. package/dist/esm/date.js.map +0 -1
  40. package/dist/esm/debounce.js +0 -25
  41. package/dist/esm/debounce.js.map +0 -1
  42. package/dist/esm/dom/dom.js +0 -9
  43. package/dist/esm/dom/dom.js.map +0 -1
  44. package/dist/esm/environment.js +0 -27
  45. package/dist/esm/environment.js.map +0 -1
  46. package/dist/esm/extended-api-models/excluded-properties.js +0 -36
  47. package/dist/esm/extended-api-models/excluded-properties.js.map +0 -1
  48. package/dist/esm/extended-api-models/extended-area-projects.js +0 -12
  49. package/dist/esm/extended-api-models/extended-area-projects.js.map +0 -1
  50. package/dist/esm/extended-api-models/extended-area.js +0 -182
  51. package/dist/esm/extended-api-models/extended-area.js.map +0 -1
  52. package/dist/esm/extended-api-models/status/apartment-building-status.js +0 -60
  53. package/dist/esm/extended-api-models/status/apartment-building-status.js.map +0 -1
  54. package/dist/esm/extended-api-models/status/construction-number-status.js +0 -20
  55. package/dist/esm/extended-api-models/status/construction-number-status.js.map +0 -1
  56. package/dist/esm/extended-api-models/status/property-type-status.js +0 -60
  57. package/dist/esm/extended-api-models/status/property-type-status.js.map +0 -1
  58. package/dist/esm/extended-api-models/utilities/apartment-building-view.js +0 -5
  59. package/dist/esm/extended-api-models/utilities/apartment-building-view.js.map +0 -1
  60. package/dist/esm/extended-api-models/utilities/extended-model-price-range.js +0 -37
  61. package/dist/esm/extended-api-models/utilities/extended-model-price-range.js.map +0 -1
  62. package/dist/esm/extended-api-models/utilities/find-extended-object.js +0 -23
  63. package/dist/esm/extended-api-models/utilities/find-extended-object.js.map +0 -1
  64. package/dist/esm/extended-api-models/utilities/is-apartment.js +0 -14
  65. package/dist/esm/extended-api-models/utilities/is-apartment.js.map +0 -1
  66. package/dist/esm/function-is-true.js +0 -13
  67. package/dist/esm/function-is-true.js.map +0 -1
  68. package/dist/esm/generated/bpd-client.js +0 -53
  69. package/dist/esm/generated/bpd-client.js.map +0 -1
  70. package/dist/esm/geometry/country-bounding-box.js +0 -14
  71. package/dist/esm/geometry/country-bounding-box.js.map +0 -1
  72. package/dist/esm/geometry/geometry.js +0 -65
  73. package/dist/esm/geometry/geometry.js.map +0 -1
  74. package/dist/esm/hooks/use-click-outside.js +0 -34
  75. package/dist/esm/hooks/use-click-outside.js.map +0 -1
  76. package/dist/esm/hooks/use-form-changes.js +0 -30
  77. package/dist/esm/hooks/use-form-changes.js.map +0 -1
  78. package/dist/esm/hooks/use-history.js +0 -15
  79. package/dist/esm/hooks/use-history.js.map +0 -1
  80. package/dist/esm/hooks/use-keyboard-focus.js +0 -14
  81. package/dist/esm/hooks/use-keyboard-focus.js.map +0 -1
  82. package/dist/esm/hooks/use-lazy.js +0 -47
  83. package/dist/esm/hooks/use-lazy.js.map +0 -1
  84. package/dist/esm/hooks/use-map-storage.js +0 -16
  85. package/dist/esm/hooks/use-map-storage.js.map +0 -1
  86. package/dist/esm/hooks/use-scroll-position.js +0 -23
  87. package/dist/esm/hooks/use-scroll-position.js.map +0 -1
  88. package/dist/esm/hooks/use-scroll-to.js +0 -66
  89. package/dist/esm/hooks/use-scroll-to.js.map +0 -1
  90. package/dist/esm/hooks/use-stylesheet.js +0 -8
  91. package/dist/esm/hooks/use-stylesheet.js.map +0 -1
  92. package/dist/esm/hooks/use-url-params.js +0 -31
  93. package/dist/esm/hooks/use-url-params.js.map +0 -1
  94. package/dist/esm/index.js +0 -40
  95. package/dist/esm/index.js.map +0 -1
  96. package/dist/esm/is-touch.js +0 -32
  97. package/dist/esm/is-touch.js.map +0 -1
  98. package/dist/esm/media-query/breakpoints.js +0 -29
  99. package/dist/esm/media-query/breakpoints.js.map +0 -1
  100. package/dist/esm/media-query/media-query.js +0 -39
  101. package/dist/esm/media-query/media-query.js.map +0 -1
  102. package/dist/esm/media-query/utils/index.js +0 -35
  103. package/dist/esm/media-query/utils/index.js.map +0 -1
  104. package/dist/esm/raf-throttle.js +0 -24
  105. package/dist/esm/raf-throttle.js.map +0 -1
  106. package/dist/esm/throttle.js +0 -23
  107. package/dist/esm/throttle.js.map +0 -1
  108. package/dist/esm/to-currency.js +0 -26
  109. package/dist/esm/to-currency.js.map +0 -1
  110. package/dist/lib/api/http.js +0 -117
  111. package/dist/lib/api/http.js.map +0 -1
  112. package/dist/lib/api/index.js +0 -8
  113. package/dist/lib/api/index.js.map +0 -1
  114. package/dist/lib/api-utilities/api-utilities.js +0 -9
  115. package/dist/lib/api-utilities/api-utilities.js.map +0 -1
  116. package/dist/lib/api-utilities/api-utilities.test.js +0 -122
  117. package/dist/lib/api-utilities/api-utilities.test.js.map +0 -1
  118. package/dist/lib/api-utilities/api-utilities.types.js +0 -1
  119. package/dist/lib/api-utilities/api-utilities.types.js.map +0 -1
  120. package/dist/lib/api-utilities/compose-exclude-string.js +0 -5
  121. package/dist/lib/api-utilities/compose-exclude-string.js.map +0 -1
  122. package/dist/lib/api-utilities/decimal-range/merge-decimal-range.js +0 -12
  123. package/dist/lib/api-utilities/decimal-range/merge-decimal-range.js.map +0 -1
  124. package/dist/lib/api-utilities/decimal-range/merge-specification-range.js +0 -27
  125. package/dist/lib/api-utilities/decimal-range/merge-specification-range.js.map +0 -1
  126. package/dist/lib/api-utilities/district-status.js +0 -13
  127. package/dist/lib/api-utilities/district-status.js.map +0 -1
  128. package/dist/lib/api-utilities/find-filter.js +0 -40
  129. package/dist/lib/api-utilities/find-filter.js.map +0 -1
  130. package/dist/lib/api-utilities/get/coordinates.js +0 -29
  131. package/dist/lib/api-utilities/get/coordinates.js.map +0 -1
  132. package/dist/lib/api-utilities/get/layer-raster.js +0 -3
  133. package/dist/lib/api-utilities/get/layer-raster.js.map +0 -1
  134. package/dist/lib/api-utilities/index.js +0 -2
  135. package/dist/lib/api-utilities/index.js.map +0 -1
  136. package/dist/lib/api-utilities/show-mortgage-price.js +0 -10
  137. package/dist/lib/api-utilities/show-mortgage-price.js.map +0 -1
  138. package/dist/lib/api-utilities/show-price.js +0 -12
  139. package/dist/lib/api-utilities/show-price.js.map +0 -1
  140. package/dist/lib/constants/index.js +0 -5
  141. package/dist/lib/constants/index.js.map +0 -1
  142. package/dist/lib/date.js +0 -10
  143. package/dist/lib/date.js.map +0 -1
  144. package/dist/lib/debounce.js +0 -23
  145. package/dist/lib/debounce.js.map +0 -1
  146. package/dist/lib/dom/dom.js +0 -7
  147. package/dist/lib/dom/dom.js.map +0 -1
  148. package/dist/lib/dom/index.js +0 -2
  149. package/dist/lib/dom/index.js.map +0 -1
  150. package/dist/lib/environment.js +0 -25
  151. package/dist/lib/environment.js.map +0 -1
  152. package/dist/lib/extended-api-models/excluded-properties.js +0 -35
  153. package/dist/lib/extended-api-models/excluded-properties.js.map +0 -1
  154. package/dist/lib/extended-api-models/extended-area-projects.js +0 -10
  155. package/dist/lib/extended-api-models/extended-area-projects.js.map +0 -1
  156. package/dist/lib/extended-api-models/extended-area.js +0 -179
  157. package/dist/lib/extended-api-models/extended-area.js.map +0 -1
  158. package/dist/lib/extended-api-models/index.js +0 -7
  159. package/dist/lib/extended-api-models/index.js.map +0 -1
  160. package/dist/lib/extended-api-models/status/apartment-building-status.js +0 -58
  161. package/dist/lib/extended-api-models/status/apartment-building-status.js.map +0 -1
  162. package/dist/lib/extended-api-models/status/construction-number-status.js +0 -19
  163. package/dist/lib/extended-api-models/status/construction-number-status.js.map +0 -1
  164. package/dist/lib/extended-api-models/status/property-type-status.js +0 -58
  165. package/dist/lib/extended-api-models/status/property-type-status.js.map +0 -1
  166. package/dist/lib/extended-api-models/utilities/apartment-building-view.js +0 -4
  167. package/dist/lib/extended-api-models/utilities/apartment-building-view.js.map +0 -1
  168. package/dist/lib/extended-api-models/utilities/extended-model-price-range.js +0 -35
  169. package/dist/lib/extended-api-models/utilities/extended-model-price-range.js.map +0 -1
  170. package/dist/lib/extended-api-models/utilities/find-extended-object.js +0 -21
  171. package/dist/lib/extended-api-models/utilities/find-extended-object.js.map +0 -1
  172. package/dist/lib/extended-api-models/utilities/is-apartment.js +0 -13
  173. package/dist/lib/extended-api-models/utilities/is-apartment.js.map +0 -1
  174. package/dist/lib/function-is-true.js +0 -11
  175. package/dist/lib/function-is-true.js.map +0 -1
  176. package/dist/lib/generated/bpd-client.js +0 -50
  177. package/dist/lib/generated/bpd-client.js.map +0 -1
  178. package/dist/lib/generated/index.js +0 -2
  179. package/dist/lib/generated/index.js.map +0 -1
  180. package/dist/lib/geometry/country-bounding-box.js +0 -12
  181. package/dist/lib/geometry/country-bounding-box.js.map +0 -1
  182. package/dist/lib/geometry/geometry.js +0 -64
  183. package/dist/lib/geometry/geometry.js.map +0 -1
  184. package/dist/lib/geometry/geometry.test.js +0 -87
  185. package/dist/lib/geometry/geometry.test.js.map +0 -1
  186. package/dist/lib/geometry/index.js +0 -3
  187. package/dist/lib/geometry/index.js.map +0 -1
  188. package/dist/lib/hooks/index.js +0 -11
  189. package/dist/lib/hooks/index.js.map +0 -1
  190. package/dist/lib/hooks/use-click-outside.js +0 -32
  191. package/dist/lib/hooks/use-click-outside.js.map +0 -1
  192. package/dist/lib/hooks/use-delegate-listen.js +0 -10
  193. package/dist/lib/hooks/use-delegate-listen.js.map +0 -1
  194. package/dist/lib/hooks/use-form-changes.js +0 -27
  195. package/dist/lib/hooks/use-form-changes.js.map +0 -1
  196. package/dist/lib/hooks/use-history.js +0 -13
  197. package/dist/lib/hooks/use-history.js.map +0 -1
  198. package/dist/lib/hooks/use-input.js +0 -28
  199. package/dist/lib/hooks/use-input.js.map +0 -1
  200. package/dist/lib/hooks/use-keyboard-focus.js +0 -11
  201. package/dist/lib/hooks/use-keyboard-focus.js.map +0 -1
  202. package/dist/lib/hooks/use-lazy.js +0 -44
  203. package/dist/lib/hooks/use-lazy.js.map +0 -1
  204. package/dist/lib/hooks/use-map-storage.js +0 -14
  205. package/dist/lib/hooks/use-map-storage.js.map +0 -1
  206. package/dist/lib/hooks/use-scroll-position.js +0 -20
  207. package/dist/lib/hooks/use-scroll-position.js.map +0 -1
  208. package/dist/lib/hooks/use-scroll-to.js +0 -64
  209. package/dist/lib/hooks/use-scroll-to.js.map +0 -1
  210. package/dist/lib/hooks/use-stylesheet.js +0 -5
  211. package/dist/lib/hooks/use-stylesheet.js.map +0 -1
  212. package/dist/lib/hooks/use-text.js +0 -16
  213. package/dist/lib/hooks/use-text.js.map +0 -1
  214. package/dist/lib/hooks/use-url-params.js +0 -28
  215. package/dist/lib/hooks/use-url-params.js.map +0 -1
  216. package/dist/lib/index.js +0 -18
  217. package/dist/lib/index.js.map +0 -1
  218. package/dist/lib/is-touch.js +0 -30
  219. package/dist/lib/is-touch.js.map +0 -1
  220. package/dist/lib/media-query/breakpoints.js +0 -27
  221. package/dist/lib/media-query/breakpoints.js.map +0 -1
  222. package/dist/lib/media-query/index.js +0 -2
  223. package/dist/lib/media-query/index.js.map +0 -1
  224. package/dist/lib/media-query/media-query.js +0 -36
  225. package/dist/lib/media-query/media-query.js.map +0 -1
  226. package/dist/lib/media-query/media-query.types.js +0 -1
  227. package/dist/lib/media-query/media-query.types.js.map +0 -1
  228. package/dist/lib/media-query/utils/index.js +0 -32
  229. package/dist/lib/media-query/utils/index.js.map +0 -1
  230. package/dist/lib/raf-throttle.js +0 -22
  231. package/dist/lib/raf-throttle.js.map +0 -1
  232. package/dist/lib/throttle.js +0 -22
  233. package/dist/lib/throttle.js.map +0 -1
  234. package/dist/lib/to-currency.js +0 -24
  235. package/dist/lib/to-currency.js.map +0 -1
  236. package/dist/types/api/http.d.ts +0 -47
  237. package/dist/types/api/index.d.ts +0 -2
  238. package/dist/types/api-utilities/api-utilities.d.ts +0 -8
  239. package/dist/types/api-utilities/api-utilities.test.d.ts +0 -1
  240. package/dist/types/api-utilities/api-utilities.types.d.ts +0 -46
  241. package/dist/types/api-utilities/compose-exclude-string.d.ts +0 -3
  242. package/dist/types/api-utilities/decimal-range/merge-decimal-range.d.ts +0 -3
  243. package/dist/types/api-utilities/decimal-range/merge-specification-range.d.ts +0 -13
  244. package/dist/types/api-utilities/district-status.d.ts +0 -3
  245. package/dist/types/api-utilities/find-filter.d.ts +0 -32
  246. package/dist/types/api-utilities/get/coordinates.d.ts +0 -6
  247. package/dist/types/api-utilities/get/layer-raster.d.ts +0 -3
  248. package/dist/types/api-utilities/index.d.ts +0 -1
  249. package/dist/types/api-utilities/show-mortgage-price.d.ts +0 -3
  250. package/dist/types/api-utilities/show-price.d.ts +0 -7
  251. package/dist/types/constants/index.d.ts +0 -4
  252. package/dist/types/date.d.ts +0 -3
  253. package/dist/types/debounce.d.ts +0 -5
  254. package/dist/types/dom/dom.d.ts +0 -6
  255. package/dist/types/dom/index.d.ts +0 -1
  256. package/dist/types/environment.d.ts +0 -9
  257. package/dist/types/extended-api-models/excluded-properties.d.ts +0 -5
  258. package/dist/types/extended-api-models/extended-area-projects.d.ts +0 -3
  259. package/dist/types/extended-api-models/extended-area.d.ts +0 -13
  260. package/dist/types/extended-api-models/index.d.ts +0 -6
  261. package/dist/types/extended-api-models/status/apartment-building-status.d.ts +0 -3
  262. package/dist/types/extended-api-models/status/construction-number-status.d.ts +0 -3
  263. package/dist/types/extended-api-models/status/property-type-status.d.ts +0 -4
  264. package/dist/types/extended-api-models/utilities/apartment-building-view.d.ts +0 -4
  265. package/dist/types/extended-api-models/utilities/extended-model-price-range.d.ts +0 -4
  266. package/dist/types/extended-api-models/utilities/find-extended-object.d.ts +0 -4
  267. package/dist/types/extended-api-models/utilities/is-apartment.d.ts +0 -11
  268. package/dist/types/function-is-true.d.ts +0 -1
  269. package/dist/types/generated/bpd-client.d.ts +0 -808
  270. package/dist/types/generated/index.d.ts +0 -1
  271. package/dist/types/geometry/country-bounding-box.d.ts +0 -6
  272. package/dist/types/geometry/geometry.d.ts +0 -11
  273. package/dist/types/geometry/geometry.test.d.ts +0 -8
  274. package/dist/types/geometry/index.d.ts +0 -2
  275. package/dist/types/hooks/index.d.ts +0 -10
  276. package/dist/types/hooks/use-click-outside.d.ts +0 -6
  277. package/dist/types/hooks/use-delegate-listen.d.ts +0 -6
  278. package/dist/types/hooks/use-form-changes.d.ts +0 -12
  279. package/dist/types/hooks/use-history.d.ts +0 -4
  280. package/dist/types/hooks/use-input.d.ts +0 -41
  281. package/dist/types/hooks/use-keyboard-focus.d.ts +0 -6
  282. package/dist/types/hooks/use-lazy.d.ts +0 -21
  283. package/dist/types/hooks/use-map-storage.d.ts +0 -6
  284. package/dist/types/hooks/use-scroll-position.d.ts +0 -10
  285. package/dist/types/hooks/use-scroll-to.d.ts +0 -8
  286. package/dist/types/hooks/use-stylesheet.d.ts +0 -1
  287. package/dist/types/hooks/use-text.d.ts +0 -1
  288. package/dist/types/hooks/use-url-params.d.ts +0 -5
  289. package/dist/types/index.d.ts +0 -17
  290. package/dist/types/is-touch.d.ts +0 -8
  291. package/dist/types/media-query/breakpoints.d.ts +0 -26
  292. package/dist/types/media-query/index.d.ts +0 -1
  293. package/dist/types/media-query/media-query.d.ts +0 -13
  294. package/dist/types/media-query/media-query.types.d.ts +0 -14
  295. package/dist/types/media-query/utils/index.d.ts +0 -3
  296. package/dist/types/raf-throttle.d.ts +0 -4
  297. package/dist/types/throttle.d.ts +0 -2
  298. package/dist/types/to-currency.d.ts +0 -3
package/dist/esm/index.js DELETED
@@ -1,40 +0,0 @@
1
- export { APIClient } from './api/index.js';
2
- export { apartmentBuildingDeleteApartmentBuilding, apartmentBuildingGetByExternalId, apartmentBuildingQuery, apartmentBuildingUpdateApartmentBuilding, areaProjectGetById, areaProjectQuery, cityGetById, cityGetByName, cityQuery, communityRedirectAsset, constructionNumberGetById, constructionNumberQuery, countryGetById, countryGetByIsoCode, countryQuery, districtGetById, districtQuery, formCase, formDynamic, formLead, fundaCompareFundaObjectRevisionChanges, fundaExecuteFundaPublisher, fundaGet, fundaGetActiveBrokersInGateway, fundaGetAllGwnVersionsByProjectId, fundaQuery, fundaRemoveVersionFromGwn, fundaShowConvertedFundaObject, fundaShowFundaProjectLogs, fundaShowLastSubmittedProject, fundaSubmit, fundaValidate, geoFeatureDeleteGeoFeature, geoFeatureUpsertAreaFeatures, geoFeatureUpsertGeoFeature, grantGetById, grantQuery, projectPhaseGetById, projectPhaseQuery, propertyTypeGetById, propertyTypeQuery, provinceGetById, provinceGetByName, provinceQuery, regionGetById, regionQuery, resourceDeleteResource, resourceUpdateResource } from './generated/bpd-client.js';
3
- export { elements } from './dom/dom.js';
4
- export { useScrollPosition } from './hooks/use-scroll-position.js';
5
- export { useStylesheet } from './hooks/use-stylesheet.js';
6
- export { useClickOutside } from './hooks/use-click-outside.js';
7
- export { useHistory } from './hooks/use-history.js';
8
- export { useScrollTo } from './hooks/use-scroll-to.js';
9
- export { useUrlParams } from './hooks/use-url-params.js';
10
- export { useMapStorage } from './hooks/use-map-storage.js';
11
- export { LAZY_HOOKS, LAZY_STATES, useLazy } from './hooks/use-lazy.js';
12
- export { useUsingKeyboard } from './hooks/use-keyboard-focus.js';
13
- export { useFormChanges } from './hooks/use-form-changes.js';
14
- export { ATOMS, DESIGN_SYSTEM, MOLECULES, ORGANISMS } from './constants/index.js';
15
- export { debounce } from './debounce.js';
16
- export { DetectTouch, detectTouch } from './is-touch.js';
17
- export { environment } from './environment.js';
18
- export { rafThrottle } from './raf-throttle.js';
19
- export { deviceWidth, getCurrentBreakpoint, max, mediaIsMatch, mediaWatcher, min, useMedia } from './media-query/media-query.js';
20
- export { functionIsTrue } from './function-is-true.js';
21
- export { getDistrictStatus } from './api-utilities/district-status.js';
22
- export { filterApartmentBuildings, filterAreaProjects, filterConstructionNumbers, filterDistricts, filterProjectPhases, filterPropertyTypes, findApartmentBuilding, findAreaProject, findConstructionNumber, findDistrict, findProjectPhase, findPropertyType } from './api-utilities/find-filter.js';
23
- export { showPrice } from './api-utilities/show-price.js';
24
- export { getApiObjectCenter, getApiObjectCoordinates, validateCoordinates } from './api-utilities/get/coordinates.js';
25
- export { getApiObjectLayerRaster } from './api-utilities/get/layer-raster.js';
26
- export { mergeDecimalRange } from './api-utilities/decimal-range/merge-decimal-range.js';
27
- export { mergeConstructionNumberSpecification, mergePropertySpecification } from './api-utilities/decimal-range/merge-specification-range.js';
28
- export { calculateBoundingBox, calculateBoundingBoxCenter, calculateCenter, calculateDistance, calculateMapDataBoundingBox, calculateMapDataCenter, expandBoundingBox, mergeBoundingBoxes, withinBoundingBox } from './geometry/geometry.js';
29
- export { COUNTRY_BBOX, getCountryBoundingBox } from './geometry/country-bounding-box.js';
30
- export { betweenDates, calculateDifferenceInDays } from './date.js';
31
- export { putThousandsSeparators, round, toCurrency } from './to-currency.js';
32
- export { getExtendedModelPriceRange } from './extended-api-models/utilities/extended-model-price-range.js';
33
- export { getApartmentBuildingView, getApartmentBuildingViewById } from './extended-api-models/utilities/apartment-building-view.js';
34
- export { isApartment } from './extended-api-models/utilities/is-apartment.js';
35
- export { findExtendedObjectById } from './extended-api-models/utilities/find-extended-object.js';
36
- export { extendedArea } from './extended-api-models/extended-area.js';
37
- export { getExtendedAreaProjects } from './extended-api-models/extended-area-projects.js';
38
- export { throttle } from './throttle.js';
39
- export { breakpoints } from './media-query/breakpoints.js';
40
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -1,32 +0,0 @@
1
- const IS_TOUCH = 'is-touch';
2
- const WITH_MOUSE = `${IS_TOUCH}--with-mouse`;
3
- const html = document.documentElement;
4
- class DetectTouch {
5
- constructor() {
6
- this.hasMouse = false;
7
- this.touch =
8
- 'ontouchstart' in html ||
9
- navigator.maxTouchPoints > 0 ||
10
- navigator.msMaxTouchPoints > 0;
11
- html.addEventListener('touchstart', () => {
12
- html.removeEventListener('mousemove', () => this.handleMouseEvent());
13
- });
14
- html.addEventListener('mousemove', () => this.handleMouseEvent());
15
- if (this.touch) {
16
- html.classList.add(IS_TOUCH);
17
- }
18
- }
19
- get isTouchDevice() {
20
- return this.touch;
21
- }
22
- handleMouseEvent() {
23
- if (!this.hasMouse && html.classList.contains(IS_TOUCH)) {
24
- html.classList.add(WITH_MOUSE);
25
- this.hasMouse = true;
26
- }
27
- }
28
- }
29
- const detectTouch = new DetectTouch();
30
-
31
- export { DetectTouch, detectTouch };
32
- //# sourceMappingURL=is-touch.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"is-touch.js","sources":["../../src/is-touch.ts"],"sourcesContent":["const IS_TOUCH = 'is-touch';\nconst WITH_MOUSE = `${IS_TOUCH}--with-mouse`;\nconst html = document.documentElement;\n\nexport class DetectTouch {\n touch: boolean;\n hasMouse: boolean;\n\n get isTouchDevice() {\n return this.touch;\n }\n\n constructor() {\n this.hasMouse = false;\n this.touch =\n 'ontouchstart' in html ||\n navigator.maxTouchPoints > 0 ||\n navigator.msMaxTouchPoints > 0;\n\n html.addEventListener('touchstart', () => {\n html.removeEventListener('mousemove', () => this.handleMouseEvent());\n });\n\n html.addEventListener('mousemove', () => this.handleMouseEvent());\n\n if (this.touch) {\n html.classList.add(IS_TOUCH);\n }\n }\n\n handleMouseEvent() {\n if (!this.hasMouse && html.classList.contains(IS_TOUCH)) {\n html.classList.add(WITH_MOUSE);\n this.hasMouse = true;\n }\n }\n}\n\nexport const detectTouch = new DetectTouch();\n"],"names":[],"mappings":"AAAA,MAAM,QAAQ,GAAG,UAAU,CAAC;AAC5B,MAAM,UAAU,GAAG,GAAG,QAAQ,cAAc,CAAC;AAC7C,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;MAEzB,WAAW;IAQpB;QACI,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC;QACtB,IAAI,CAAC,KAAK;YACN,cAAc,IAAI,IAAI;gBACtB,SAAS,CAAC,cAAc,GAAG,CAAC;gBAC5B,SAAS,CAAC,gBAAgB,GAAG,CAAC,CAAC;QAEnC,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;YAChC,IAAI,CAAC,mBAAmB,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;SACxE,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAElE,IAAI,IAAI,CAAC,KAAK,EAAE;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChC;KACJ;IApBD,IAAI,aAAa;QACb,OAAO,IAAI,CAAC,KAAK,CAAC;KACrB;IAoBD,gBAAgB;QACZ,IAAI,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACrD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;SACxB;KACJ;CACJ;MAEY,WAAW,GAAG,IAAI,WAAW;;;;"}
@@ -1,29 +0,0 @@
1
- const breakpoints = {
2
- mobile: {
3
- size: 320,
4
- active: false,
5
- },
6
- mobilePlus: {
7
- size: 480,
8
- active: false,
9
- },
10
- tabletPortrait: {
11
- size: 768,
12
- active: false,
13
- },
14
- tabletLandscape: {
15
- size: 1024,
16
- active: false,
17
- },
18
- laptop: {
19
- size: 1260,
20
- active: false,
21
- },
22
- desktop: {
23
- size: 1600,
24
- active: false,
25
- },
26
- };
27
-
28
- export { breakpoints };
29
- //# sourceMappingURL=breakpoints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"breakpoints.js","sources":["../../../src/media-query/breakpoints.ts"],"sourcesContent":["export const breakpoints = {\n mobile: {\n size: 320,\n active: false,\n },\n mobilePlus: {\n size: 480,\n active: false,\n },\n tabletPortrait: {\n size: 768,\n active: false,\n },\n tabletLandscape: {\n size: 1024,\n active: false,\n },\n laptop: {\n size: 1260,\n active: false,\n },\n desktop: {\n size: 1600,\n active: false,\n },\n};\n"],"names":[],"mappings":"MAAa,WAAW,GAAG;IACvB,MAAM,EAAE;QACJ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KAChB;IACD,UAAU,EAAE;QACR,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KAChB;IACD,cAAc,EAAE;QACZ,IAAI,EAAE,GAAG;QACT,MAAM,EAAE,KAAK;KAChB;IACD,eAAe,EAAE;QACb,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KAChB;IACD,MAAM,EAAE;QACJ,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KAChB;IACD,OAAO,EAAE;QACL,IAAI,EAAE,IAAI;QACV,MAAM,EAAE,KAAK;KAChB;;;;;"}
@@ -1,39 +0,0 @@
1
- import { breakpoints } from './breakpoints.js';
2
- export { breakpoints } from './breakpoints.js';
3
- import { getSizeFromBreakpoint, getMediaQueries } from './utils/index.js';
4
-
5
- const max = (breakpoint) => `(max-width: ${getSizeFromBreakpoint(breakpoint)}px)`;
6
- const min = (breakpoint) => `(min-width: ${getSizeFromBreakpoint(breakpoint)}px)`;
7
- const mediaIsMatch = (breakpoint) => window.matchMedia(breakpoint).matches;
8
- const deviceWidth = {
9
- isMobilePlusAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('mobilePlus')}`),
10
- isTabletPortraitAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('tabletPortrait')}`),
11
- };
12
- const mediaWatcher = (mediaQuery, layoutChangedCallback) => {
13
- const mediaQueryListener = window.matchMedia(mediaQuery);
14
- mediaQueryListener.addListener((e) => layoutChangedCallback(e.matches));
15
- layoutChangedCallback(mediaQueryListener.matches);
16
- };
17
- const getCurrentBreakpoint = () => getMediaQueries().reduce((previous, current) => window.matchMedia(current.query()).matches ? current.breakpoint : previous, undefined);
18
- const useMedia = (callback) => {
19
- const breakpointObject = getMediaQueries();
20
- breakpointObject
21
- .map((breakpoint) => {
22
- return {
23
- listener: window.matchMedia(breakpoint.query()),
24
- breakpoint: breakpoint.breakpoint,
25
- };
26
- })
27
- .forEach((breakpoint) => breakpoint.listener.addListener((e) => handleMediaListeners(e, breakpoint.breakpoint)));
28
- function handleMediaListeners(event, key) {
29
- if (!event.matches)
30
- return;
31
- Object.keys(breakpoints).forEach((item) => (breakpoints[item].active =
32
- item === key ? event.matches : !event.matches));
33
- callback(breakpoints);
34
- }
35
- callback(breakpoints);
36
- };
37
-
38
- export { deviceWidth, getCurrentBreakpoint, max, mediaIsMatch, mediaWatcher, min, useMedia };
39
- //# sourceMappingURL=media-query.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"media-query.js","sources":["../../../src/media-query/media-query.ts"],"sourcesContent":["import { breakpoints } from './breakpoints';\nimport { BreakpointFunction, Breakpoints, UseMediaFunction } from './media-query.types';\nimport { getMediaQueries, getSizeFromBreakpoint } from './utils';\n\nconst max: BreakpointFunction = (breakpoint) =>\n `(max-width: ${getSizeFromBreakpoint(breakpoint)}px)`;\n\nconst min: BreakpointFunction = (breakpoint) =>\n `(min-width: ${getSizeFromBreakpoint(breakpoint)}px)`;\n\n/**\n * Check if the given breakpoint is a match\n * @param breakpoint { string }\n */\nexport const mediaIsMatch = (breakpoint: string) => window.matchMedia(breakpoint).matches;\n\nexport const deviceWidth = {\n isMobilePlusAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('mobilePlus')}`),\n isTabletPortraitAndSmaller: mediaIsMatch(`${min('mobile')} and ${max('tabletPortrait')}`),\n};\n\n/**\n * Method that calls a callback everytime a media-query matches\n * mediaWatcher(`(min-width: 600px)`, (matches) => {\n * console.log(matches);\n * });\n * @function mediaWatcher\n * @param mediaQuery { string }\n * @param layoutChangedCallback { callback }\n */\nconst mediaWatcher = (\n mediaQuery: string,\n layoutChangedCallback: (mediaQueryMatches: boolean) => void,\n) => {\n const mediaQueryListener = window.matchMedia(mediaQuery);\n mediaQueryListener.addListener((e) => layoutChangedCallback(e.matches));\n layoutChangedCallback(mediaQueryListener.matches);\n};\n\n/**\n * Returns current active breakpoint\n * @function getCurrentBreakpoint\n */\nconst getCurrentBreakpoint = () =>\n getMediaQueries().reduce(\n (previous, current) =>\n window.matchMedia(current.query()).matches ? current.breakpoint : (previous as any),\n undefined,\n );\n\n/**\n * Returns the breakpoints object in the given callback\n * @function useMedia\n * @param callback returns @type Breakpoints\n */\nconst useMedia = (callback: UseMediaFunction) => {\n const breakpointObject = getMediaQueries();\n\n breakpointObject\n .map((breakpoint) => {\n return {\n listener: window.matchMedia(breakpoint.query()),\n breakpoint: breakpoint.breakpoint,\n };\n })\n .forEach((breakpoint) =>\n breakpoint.listener.addListener((e) => handleMediaListeners(e, breakpoint.breakpoint)),\n );\n\n function handleMediaListeners(event: { matches: boolean; media: string }, key: Breakpoints) {\n if (!event.matches) return;\n\n Object.keys(breakpoints).forEach(\n (item: any) =>\n (breakpoints[item as Breakpoints].active =\n item === key ? event.matches : !event.matches),\n );\n\n callback(breakpoints);\n }\n\n callback(breakpoints);\n};\n\nexport { breakpoints, min, max, useMedia, mediaWatcher, getCurrentBreakpoint, Breakpoints };\n"],"names":[],"mappings":";;;;MAIM,GAAG,GAAuB,CAAC,UAAU,KACvC,eAAe,qBAAqB,CAAC,UAAU,CAAC,MAAM;MAEpD,GAAG,GAAuB,CAAC,UAAU,KACvC,eAAe,qBAAqB,CAAC,UAAU,CAAC,MAAM;MAM7C,YAAY,GAAG,CAAC,UAAkB,KAAK,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC,QAAQ;MAE7E,WAAW,GAAG;IACvB,sBAAsB,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;IACjF,0BAA0B,EAAE,YAAY,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,QAAQ,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;EAC3F;MAWI,YAAY,GAAG,CACjB,UAAkB,EAClB,qBAA2D;IAE3D,MAAM,kBAAkB,GAAG,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IACzD,kBAAkB,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,qBAAqB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACtD,EAAE;MAMI,oBAAoB,GAAG,MACzB,eAAe,EAAE,CAAC,MAAM,CACpB,CAAC,QAAQ,EAAE,OAAO,KACd,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,OAAO,GAAG,OAAO,CAAC,UAAU,GAAI,QAAgB,EACvF,SAAS,EACX;MAOA,QAAQ,GAAG,CAAC,QAA0B;IACxC,MAAM,gBAAgB,GAAG,eAAe,EAAE,CAAC;IAE3C,gBAAgB;SACX,GAAG,CAAC,CAAC,UAAU;QACZ,OAAO;YACH,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC/C,UAAU,EAAE,UAAU,CAAC,UAAU;SACpC,CAAC;KACL,CAAC;SACD,OAAO,CAAC,CAAC,UAAU,KAChB,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,oBAAoB,CAAC,CAAC,EAAE,UAAU,CAAC,UAAU,CAAC,CAAC,CACzF,CAAC;IAEN,SAAS,oBAAoB,CAAC,KAA0C,EAAE,GAAgB;QACtF,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAE3B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,CAC5B,CAAC,IAAS,MACL,WAAW,CAAC,IAAmB,CAAC,CAAC,MAAM;YACpC,IAAI,KAAK,GAAG,GAAG,KAAK,CAAC,OAAO,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CACzD,CAAC;QAEF,QAAQ,CAAC,WAAW,CAAC,CAAC;KACzB;IAED,QAAQ,CAAC,WAAW,CAAC,CAAC;AAC1B;;;;"}
@@ -1,35 +0,0 @@
1
- import { breakpoints } from '../breakpoints.js';
2
-
3
- function getSizeFromBreakpoint(breakpointValue) {
4
- if (breakpoints[breakpointValue].size) {
5
- return breakpoints[breakpointValue].size;
6
- }
7
- else {
8
- console.error('No valid breakpoint or size specified for media.');
9
- return '0';
10
- }
11
- }
12
- function getMediaQueries() {
13
- const breakpointMap = Object.keys(breakpoints);
14
- return breakpointMap.map((item, index) => {
15
- const breakpoint = breakpoints[item];
16
- const breakpointAbove = breakpoints[breakpointMap[index + 1]];
17
- return {
18
- breakpoint: item,
19
- query: () => {
20
- if (index === 0) {
21
- return `(max-width: ${breakpointAbove.size - 1}px)`;
22
- }
23
- else if (index === breakpointMap.length - 1) {
24
- return `(min-width: ${breakpoint.size}px)`;
25
- }
26
- else {
27
- return `(max-width: ${breakpointAbove.size - 1}px) and (min-width: ${breakpoint.size}px)`;
28
- }
29
- },
30
- };
31
- });
32
- }
33
-
34
- export { getMediaQueries, getSizeFromBreakpoint };
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/media-query/utils/index.ts"],"sourcesContent":["import { breakpoints } from '../breakpoints';\nimport { Breakpoints, MediaQuery } from '../media-query.types';\n\nexport function getSizeFromBreakpoint(breakpointValue: Breakpoints) {\n if (breakpoints[breakpointValue].size) {\n return breakpoints[breakpointValue].size;\n } else {\n console.error('No valid breakpoint or size specified for media.');\n return '0';\n }\n}\n\nexport function getMediaQueries(): MediaQuery[] {\n const breakpointMap = Object.keys(breakpoints);\n\n return breakpointMap.map((item: any, index: number) => {\n const breakpoint = breakpoints[item as Breakpoints];\n const breakpointAbove = breakpoints[breakpointMap[index + 1] as Breakpoints];\n\n return {\n breakpoint: item,\n query: () => {\n if (index === 0) {\n return `(max-width: ${breakpointAbove.size - 1}px)`;\n } else if (index === breakpointMap.length - 1) {\n return `(min-width: ${breakpoint.size}px)`;\n } else {\n return `(max-width: ${breakpointAbove.size - 1}px) and (min-width: ${\n breakpoint.size\n }px)`;\n }\n },\n };\n });\n}\n"],"names":[],"mappings":";;SAGgB,qBAAqB,CAAC,eAA4B;IAC9D,IAAI,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,EAAE;QACnC,OAAO,WAAW,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC;KAC5C;SAAM;QACH,OAAO,CAAC,KAAK,CAAC,kDAAkD,CAAC,CAAC;QAClE,OAAO,GAAG,CAAC;KACd;AACL,CAAC;SAEe,eAAe;IAC3B,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAE/C,OAAO,aAAa,CAAC,GAAG,CAAC,CAAC,IAAS,EAAE,KAAa;QAC9C,MAAM,UAAU,GAAG,WAAW,CAAC,IAAmB,CAAC,CAAC;QACpD,MAAM,eAAe,GAAG,WAAW,CAAC,aAAa,CAAC,KAAK,GAAG,CAAC,CAAgB,CAAC,CAAC;QAE7E,OAAO;YACH,UAAU,EAAE,IAAI;YAChB,KAAK,EAAE;gBACH,IAAI,KAAK,KAAK,CAAC,EAAE;oBACb,OAAO,eAAe,eAAe,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC;iBACvD;qBAAM,IAAI,KAAK,KAAK,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;oBAC3C,OAAO,eAAe,UAAU,CAAC,IAAI,KAAK,CAAC;iBAC9C;qBAAM;oBACH,OAAO,eAAe,eAAe,CAAC,IAAI,GAAG,CAAC,uBAC1C,UAAU,CAAC,IACf,KAAK,CAAC;iBACT;aACJ;SACJ,CAAC;KACL,CAAC,CAAC;AACP;;;;"}
@@ -1,24 +0,0 @@
1
- const rafThrottle = (callback) => {
2
- let requestId = null;
3
- let lastArgs = null;
4
- const wrapperFunction = (...args) => {
5
- lastArgs = args;
6
- if (requestId) {
7
- return;
8
- }
9
- requestId = requestAnimationFrame(() => {
10
- requestId = null;
11
- callback(...lastArgs);
12
- });
13
- };
14
- wrapperFunction.cancel = () => {
15
- if (requestId !== null) {
16
- cancelAnimationFrame(requestId);
17
- requestId = null;
18
- }
19
- };
20
- return wrapperFunction;
21
- };
22
-
23
- export { rafThrottle };
24
- //# sourceMappingURL=raf-throttle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"raf-throttle.js","sources":["../../src/raf-throttle.ts"],"sourcesContent":["export const rafThrottle = (callback: (...args: any[]) => void) => {\n let requestId: null | number = null;\n\n let lastArgs: any = null;\n\n const wrapperFunction = (...args: any[]) => {\n // Always capture the latest value\n lastArgs = args;\n\n // There is already a frame queued\n if (requestId) {\n return;\n }\n\n // Schedule a new frame\n requestId = requestAnimationFrame(() => {\n requestId = null;\n callback(...lastArgs);\n });\n };\n\n wrapperFunction.cancel = () => {\n if (requestId !== null) {\n cancelAnimationFrame(requestId);\n requestId = null;\n }\n };\n\n return wrapperFunction;\n};\n"],"names":[],"mappings":"MAAa,WAAW,GAAG,CAAC,QAAkC;IAC1D,IAAI,SAAS,GAAkB,IAAI,CAAC;IAEpC,IAAI,QAAQ,GAAQ,IAAI,CAAC;IAEzB,MAAM,eAAe,GAAG,CAAC,GAAG,IAAW;QAEnC,QAAQ,GAAG,IAAI,CAAC;QAGhB,IAAI,SAAS,EAAE;YACX,OAAO;SACV;QAGD,SAAS,GAAG,qBAAqB,CAAC;YAC9B,SAAS,GAAG,IAAI,CAAC;YACjB,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;SACzB,CAAC,CAAC;KACN,CAAC;IAEF,eAAe,CAAC,MAAM,GAAG;QACrB,IAAI,SAAS,KAAK,IAAI,EAAE;YACpB,oBAAoB,CAAC,SAAS,CAAC,CAAC;YAChC,SAAS,GAAG,IAAI,CAAC;SACpB;KACJ,CAAC;IAEF,OAAO,eAAe,CAAC;AAC3B;;;;"}
@@ -1,23 +0,0 @@
1
- const throttle = (fn, wait = 300) => {
2
- let inThrottle, lastFn, lastTime;
3
- return function () {
4
- const context = this, args = arguments;
5
- if (!inThrottle) {
6
- fn.apply(context, args);
7
- lastTime = Date.now();
8
- inThrottle = true;
9
- }
10
- else {
11
- clearTimeout(lastFn);
12
- lastFn = setTimeout(() => {
13
- if (Date.now() - lastTime >= wait) {
14
- fn.apply(context, args);
15
- lastTime = Date.now();
16
- }
17
- }, Math.max(wait - (Date.now() - lastTime), 0));
18
- }
19
- };
20
- };
21
-
22
- export { throttle };
23
- //# sourceMappingURL=throttle.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"throttle.js","sources":["../../src/throttle.ts"],"sourcesContent":["const throttle = (fn: Function, wait: number = 300) => {\n let inThrottle: boolean, lastFn: ReturnType<typeof setTimeout>, lastTime: number;\n\n return function (this: any) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this,\n // eslint-disable-next-line prefer-rest-params\n args = arguments;\n if (!inThrottle) {\n fn.apply(context, args);\n lastTime = Date.now();\n inThrottle = true;\n } else {\n clearTimeout(lastFn);\n lastFn = setTimeout(() => {\n if (Date.now() - lastTime >= wait) {\n fn.apply(context, args);\n lastTime = Date.now();\n }\n }, Math.max(wait - (Date.now() - lastTime), 0));\n }\n };\n};\n\nexport { throttle };\n"],"names":[],"mappings":"MAAM,QAAQ,GAAG,CAAC,EAAY,EAAE,OAAe,GAAG;IAC9C,IAAI,UAAmB,EAAE,MAAqC,EAAE,QAAgB,CAAC;IAEjF,OAAO;QAEH,MAAM,OAAO,GAAG,IAAI,EAEhB,IAAI,GAAG,SAAS,CAAC;QACrB,IAAI,CAAC,UAAU,EAAE;YACb,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACxB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YACtB,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM;YACH,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,MAAM,GAAG,UAAU,CAAC;gBAChB,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,IAAI,IAAI,EAAE;oBAC/B,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACxB,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;iBACzB;aACJ,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SACnD;KACJ,CAAC;AACN;;;;"}
@@ -1,26 +0,0 @@
1
- const round = (value, decimals) => Number(Math.round(value + 'e' + decimals) + 'e-' + decimals).toFixed(decimals);
2
- const putThousandsSeparators = (value, sep) => {
3
- let transformedValue = null;
4
- if (sep == null) {
5
- sep = '.';
6
- }
7
- if (value.toString() === value.toLocaleString()) {
8
- const parts = value.toString().split(',');
9
- parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, sep);
10
- transformedValue = parts[1] ? parts.join(',') : parts[0];
11
- }
12
- else {
13
- transformedValue = value.toLocaleString();
14
- }
15
- return transformedValue;
16
- };
17
- const toCurrency = (value, decimals = 2) => {
18
- let transformedValue = null;
19
- transformedValue = round(Number(value), decimals);
20
- transformedValue = `${value.toString().replace('.', ',')}`;
21
- transformedValue = putThousandsSeparators(value);
22
- return `€ ${transformedValue}`;
23
- };
24
-
25
- export { putThousandsSeparators, round, toCurrency };
26
- //# sourceMappingURL=to-currency.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-currency.js","sources":["../../src/to-currency.ts"],"sourcesContent":["export const round = (value: number, decimals: number) =>\n Number(Math.round(value + ('e' as any) + decimals) + 'e-' + decimals).toFixed(decimals);\n\nexport const putThousandsSeparators = (value: number | string, sep?: string) => {\n let transformedValue = null;\n\n if (sep == null) {\n sep = '.';\n }\n\n // check if it needs formatting\n if (value.toString() === value.toLocaleString()) {\n // split decimals\n const parts = value.toString().split(',');\n\n // format whole numbers\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, sep);\n\n // put them back together\n transformedValue = parts[1] ? parts.join(',') : parts[0];\n } else {\n transformedValue = value.toLocaleString();\n }\n\n return transformedValue;\n};\n\nexport const toCurrency = (value: number, decimals = 2) => {\n let transformedValue = null;\n\n transformedValue = round(Number(value), decimals);\n transformedValue = `${value.toString().replace('.', ',')}`;\n transformedValue = putThousandsSeparators(value);\n\n return `€ ${transformedValue}`;\n};\n"],"names":[],"mappings":"MAAa,KAAK,GAAG,CAAC,KAAa,EAAE,QAAgB,KACjD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,GAAI,GAAW,GAAG,QAAQ,CAAC,GAAG,IAAI,GAAG,QAAQ,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE;MAE/E,sBAAsB,GAAG,CAAC,KAAsB,EAAE,GAAY;IACvE,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,IAAI,GAAG,IAAI,IAAI,EAAE;QACb,GAAG,GAAG,GAAG,CAAC;KACb;IAGD,IAAI,KAAK,CAAC,QAAQ,EAAE,KAAK,KAAK,CAAC,cAAc,EAAE,EAAE;QAE7C,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAG1C,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,uBAAuB,EAAE,GAAG,CAAC,CAAC;QAG1D,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;KAC5D;SAAM;QACH,gBAAgB,GAAG,KAAK,CAAC,cAAc,EAAE,CAAC;KAC7C;IAED,OAAO,gBAAgB,CAAC;AAC5B,EAAE;MAEW,UAAU,GAAG,CAAC,KAAa,EAAE,QAAQ,GAAG,CAAC;IAClD,IAAI,gBAAgB,GAAG,IAAI,CAAC;IAE5B,gBAAgB,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,CAAC,CAAC;IAClD,gBAAgB,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAC;IAC3D,gBAAgB,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAC;IAEjD,OAAO,KAAK,gBAAgB,EAAE,CAAC;AACnC;;;;"}
@@ -1,117 +0,0 @@
1
- import qs from 'qs';
2
- export class HttpError extends Error {
3
- constructor(input) {
4
- super(input.message);
5
- this.response = input.response;
6
- this.statusCode = input.statusCode;
7
- this.body = input.body;
8
- this.name = 'HttpError';
9
- }
10
- }
11
- export class HttpClient {
12
- constructor(config = {}) {
13
- this.defaultConfig = {
14
- returnType: 'json',
15
- };
16
- this.config = {};
17
- this.get = this.createRequest('GET');
18
- this.post = this.createRequest('POST');
19
- this.put = this.createRequest('PUT');
20
- this.patch = this.createRequest('PATCH');
21
- this.delete = this.createRequest('DELETE');
22
- this.setToken = (token) => (this.token = token);
23
- this.setAbortController = (config) => {
24
- const { createAbort } = config;
25
- if (createAbort) {
26
- if (typeof AbortController !== undefined) {
27
- const controller = new AbortController();
28
- const { signal } = controller;
29
- config.signal = signal;
30
- createAbort(controller.abort.bind(controller));
31
- }
32
- else {
33
- createAbort(() => console.log('The AbortController api isnt available in your browser'));
34
- }
35
- }
36
- };
37
- this.config = Object.assign(Object.assign({}, this.defaultConfig), config);
38
- }
39
- createRequest(method) {
40
- return (url, data, config) => {
41
- if (method === 'GET') {
42
- let getUrl = url;
43
- if (data) {
44
- getUrl = url + '?' + qs.stringify(data);
45
- }
46
- return this.request(getUrl, Object.assign(Object.assign({}, config), { method: 'GET' }));
47
- }
48
- const contentType = config && config.headers && config.headers['Content-Type'];
49
- return this.request(url, Object.assign(Object.assign({}, config), { method, body: this.createBody(data, contentType) }));
50
- };
51
- }
52
- setAuthenticationHeaders(config) {
53
- if (this.token) {
54
- config.headers = Object.assign(Object.assign({}, config.headers), { Authorization: `Bearer ${this.token}` });
55
- }
56
- }
57
- async request(url, requestConfig = {}) {
58
- const { beforeHook } = this.config;
59
- const config = Object.assign(Object.assign({}, this.config), requestConfig);
60
- const { baseUrl = '' } = config;
61
- this.setAbortController(config);
62
- if (beforeHook) {
63
- await beforeHook(this);
64
- }
65
- this.setAuthenticationHeaders(config);
66
- const requestFn = fetch(baseUrl + url, config)
67
- .then(this.handleError)
68
- .then(res => this.handleSuccess(res, config));
69
- return requestFn.catch(err => this.onError(err, () => this.request(url, requestConfig)));
70
- }
71
- handleSuccess(res, config) {
72
- const { returnType = 'json' } = config;
73
- if (res.status === 204 || res.status === 201 || !res[returnType]) {
74
- return res;
75
- }
76
- return res[returnType]();
77
- }
78
- async onError(err, requestFn) {
79
- const { onError } = this.config;
80
- if (onError) {
81
- return onError(err, requestFn);
82
- }
83
- throw err;
84
- }
85
- createBody(body, contentType) {
86
- switch (contentType) {
87
- case 'application/json':
88
- return JSON.stringify(body);
89
- case 'application/x-www-form-urlencoded':
90
- return new URLSearchParams(body);
91
- default:
92
- return JSON.stringify(body);
93
- }
94
- }
95
- async handleError(response) {
96
- if (response.ok) {
97
- return response;
98
- }
99
- const responseBody = await response.text();
100
- let body = response;
101
- try {
102
- body = JSON.parse(responseBody);
103
- }
104
- catch (err) {
105
- body = responseBody;
106
- }
107
- const error = {
108
- message: `HttpError: ${response.status} - ${response.statusText}`,
109
- statusCode: response.status,
110
- response,
111
- body,
112
- };
113
- console.error(error);
114
- throw new HttpError(error);
115
- }
116
- }
117
- //# sourceMappingURL=http.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/api/http.ts"],"names":[],"mappings":"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","sourcesContent":["import qs from 'qs';\n\nexport interface HttpErrorInput {\n message: string;\n statusCode: number;\n response?: Response;\n body?: any;\n}\n\nexport class HttpError extends Error {\n statusCode: number;\n response?: Response;\n body?: any;\n\n constructor(input: HttpErrorInput) {\n super(input.message);\n this.response = input.response;\n this.statusCode = input.statusCode;\n this.body = input.body;\n this.name = 'HttpError';\n }\n}\n\nexport type AbortFunction = () => void;\ntype Token = string | undefined;\ntype RequestFn = <T = any, I = any>(url: string, data: I, config?: RequestConfig) => Promise<T>;\ntype RequestGetFn = <T = any, I = any>(url: string, data?: I, config?: RequestConfig) => Promise<T>;\ntype BeforeHook = (client: HttpClient) => Promise<void> | void;\ntype ErrorHook = <T = any>(err: HttpError, request: () => Promise<T>) => any;\ntype HttpClientInit = RequestInit & {\n baseUrl?: string;\n returnType?: 'json' | 'text' | 'blob';\n /** This function is called before every request. This is where you would check if your token is still valid */\n beforeHook?: BeforeHook;\n /** Function that is called if an error occurs */\n onError?: ErrorHook;\n};\nexport type RequestConfig = HttpClientInit & {\n createAbort?: (abortFunction: AbortFunction) => void;\n};\n\n/**\n * Wrapper around fetch\n */\nexport class HttpClient {\n private defaultConfig: RequestConfig = {\n returnType: 'json',\n };\n\n private config: RequestConfig = {};\n private token: Token;\n\n constructor(config: HttpClientInit = {}) {\n this.config = {\n ...this.defaultConfig,\n ...config,\n };\n }\n\n /**\n *\n *\n * @private\n * @param {'GET'} method\n * @returns {RequestGetFn}\n * @memberof HttpClient\n */\n private createRequest(method: 'GET'): RequestGetFn;\n private createRequest(method: string): RequestFn;\n private createRequest(method: 'GET' | string): RequestFn {\n return (url, data, config) => {\n if (method === 'GET') {\n let getUrl = url;\n if (data) {\n getUrl = url + '?' + qs.stringify(data);\n }\n\n return this.request(getUrl, {\n ...config,\n method: 'GET',\n });\n }\n\n const contentType = config && config.headers && (config.headers as any)['Content-Type'];\n\n return this.request(url, {\n ...config,\n method,\n body: this.createBody(data, contentType),\n });\n };\n }\n\n public get = this.createRequest('GET');\n public post = this.createRequest('POST');\n public put = this.createRequest('PUT');\n public patch = this.createRequest('PATCH');\n public delete = this.createRequest('DELETE');\n\n public setToken = (token: Token) => (this.token = token);\n\n private setAuthenticationHeaders(config: RequestConfig) {\n // if authenticated set bearer token\n if (this.token) {\n config.headers = {\n ...config.headers,\n Authorization: `Bearer ${this.token}`,\n };\n }\n }\n\n /**\n *\n *\n * @private\n * @memberof HttpClient\n */\n private setAbortController = (config: RequestConfig) => {\n const { createAbort } = config;\n if (createAbort) {\n if (typeof AbortController !== undefined) {\n const controller = new AbortController();\n const { signal } = controller;\n config.signal = signal;\n createAbort(controller.abort.bind(controller));\n } else {\n createAbort(() =>\n console.log('The AbortController api isnt available in your browser'),\n );\n }\n }\n };\n\n /**\n *\n *\n * @template T\n * @param {(string | URL)} url\n * @param {RequestConfig} [requestConfig={}]\n * @returns {Promise<T>}\n * @memberof HttpClient\n */\n public async request<T>(url: string | URL, requestConfig: RequestConfig = {}): Promise<T> {\n const { beforeHook } = this.config;\n\n const config: RequestConfig = {\n ...this.config,\n ...requestConfig,\n };\n\n const { baseUrl = '' } = config;\n\n this.setAbortController(config);\n\n if (beforeHook) {\n await beforeHook(this);\n }\n\n this.setAuthenticationHeaders(config);\n\n const requestFn = fetch(baseUrl + url, config)\n .then(this.handleError)\n .then(res => this.handleSuccess(res, config)) as Promise<T>;\n\n return requestFn.catch(err => this.onError<T>(err, () => this.request(url, requestConfig)));\n }\n\n /**\n *\n *\n * @private\n * @param {Response} res\n * @param {RequestConfig} config\n * @returns\n * @memberof HttpClient\n */\n private handleSuccess(res: Response, config: RequestConfig) {\n const { returnType = 'json' } = config;\n\n if (res.status === 204 || res.status === 201 || !res[returnType]) {\n return res;\n }\n\n return res[returnType]();\n }\n\n private async onError<T = any>(err: HttpError, requestFn: () => Promise<T>) {\n const { onError } = this.config;\n\n if (onError) {\n return onError(err, requestFn);\n }\n\n throw err;\n }\n\n /**\n * createBody is responsible for creating a body based on the content type\n *\n * @param body The body\n * @param contentType The content type\n */\n private createBody(body: any, contentType: string): any {\n switch (contentType) {\n case 'application/json':\n return JSON.stringify(body);\n case 'application/x-www-form-urlencoded':\n return new URLSearchParams(body);\n default:\n return JSON.stringify(body);\n }\n }\n\n /**\n * Handles the errors if the fetch request fails and throws a HttpError\n * @param response\n */\n private async handleError(response: Response) {\n if (response.ok) {\n return response;\n }\n\n const responseBody = await response.text();\n let body: any = response;\n\n try {\n body = JSON.parse(responseBody);\n } catch (err) {\n body = responseBody;\n }\n\n const error = {\n message: `HttpError: ${response.status} - ${response.statusText}`,\n statusCode: response.status,\n response,\n body,\n };\n\n console.error(error);\n throw new HttpError(error);\n }\n}\n"]}
@@ -1,8 +0,0 @@
1
- import { HttpClient } from './http';
2
- export const APIClient = new HttpClient({
3
- baseUrl: window.__ENVIRONMENT_DETAILS__.apiBaseUrl,
4
- headers: {
5
- 'Content-Type': 'application/json',
6
- },
7
- });
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/api/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,UAAU,CAAC;IACpC,OAAO,EAAE,MAAM,CAAC,uBAAuB,CAAC,UAAU;IAClD,OAAO,EAAE;QACL,cAAc,EAAE,kBAAkB;KACrC;CACJ,CAAC,CAAC","sourcesContent":["import { HttpClient } from './http';\n\nexport const APIClient = new HttpClient({\n baseUrl: window.__ENVIRONMENT_DETAILS__.apiBaseUrl,\n headers: {\n 'Content-Type': 'application/json',\n },\n});\n"]}
@@ -1,9 +0,0 @@
1
- export * from './api-utilities.types';
2
- export * from './district-status';
3
- export * from './find-filter';
4
- export * from './show-price';
5
- export * from './get/coordinates';
6
- export * from './get/layer-raster';
7
- export * from './decimal-range/merge-decimal-range';
8
- export * from './decimal-range/merge-specification-range';
9
- //# sourceMappingURL=api-utilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-utilities.js","sourceRoot":"","sources":["../../../src/api-utilities/api-utilities.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AAEtC,cAAc,mBAAmB,CAAC;AAClC,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAE7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AAEnC,cAAc,qCAAqC,CAAC;AACpD,cAAc,2CAA2C,CAAC","sourcesContent":["export * from './api-utilities.types';\n\nexport * from './district-status';\nexport * from './find-filter';\nexport * from './show-price';\n\nexport * from './get/coordinates';\nexport * from './get/layer-raster';\n\nexport * from './decimal-range/merge-decimal-range';\nexport * from './decimal-range/merge-specification-range';\n"]}
@@ -1,122 +0,0 @@
1
- import { TEST_GEOMETRY } from '../geometry/geometry.test';
2
- import { composeExcludeString } from './compose-exclude-string';
3
- import { mergeDecimalRange } from './decimal-range/merge-decimal-range';
4
- import { mergeConstructionNumberSpecification, mergePropertySpecification, } from './decimal-range/merge-specification-range';
5
- import { getApiObjectCenter, getApiObjectCoordinates } from './get/coordinates';
6
- import { showPrice } from './show-price';
7
- const propertyTypes = [
8
- {
9
- id: '1',
10
- geometry: TEST_GEOMETRY.apiGeometry,
11
- specifications: {
12
- bedrooms: {
13
- from: 5,
14
- to: 10,
15
- },
16
- },
17
- },
18
- {
19
- id: '2',
20
- specifications: {
21
- bedrooms: {
22
- from: 1,
23
- },
24
- },
25
- },
26
- {
27
- id: '3',
28
- specifications: {
29
- bedrooms: {
30
- from: 6,
31
- to: 11,
32
- },
33
- },
34
- },
35
- ];
36
- const projectPhases = [
37
- {
38
- id: '1',
39
- location: TEST_GEOMETRY.center,
40
- propertySpecifications: {
41
- plotArea: {
42
- from: 5,
43
- },
44
- },
45
- },
46
- {
47
- id: '2',
48
- propertySpecifications: {
49
- plotArea: {
50
- from: 20,
51
- },
52
- },
53
- },
54
- ];
55
- const constructionNumbers = [
56
- {
57
- id: '1',
58
- specifications: {
59
- rooms: {
60
- from: 5,
61
- to: 11,
62
- },
63
- },
64
- geometry: TEST_GEOMETRY.apiGeometry,
65
- status: 'InOption',
66
- objectType: 'constructionNumber',
67
- },
68
- {
69
- id: '2',
70
- specifications: {
71
- rooms: {
72
- from: 20,
73
- to: 30,
74
- },
75
- },
76
- status: 'Sold',
77
- objectType: 'constructionNumber',
78
- },
79
- ];
80
- describe('Api utilities', function () {
81
- it('Expect propertyType specification to be merged', function () {
82
- expect(mergePropertySpecification({ propertyTypes }, 'bedrooms')).toEqual({
83
- from: 1,
84
- to: 11,
85
- });
86
- });
87
- it('Expect projectPhase specification to be merged', function () {
88
- expect(mergePropertySpecification({ projectPhases }, 'plotArea')).toEqual({
89
- from: 5,
90
- to: 20,
91
- });
92
- });
93
- it('Expect construction number specification to be merged', function () {
94
- expect(mergeConstructionNumberSpecification(constructionNumbers, 'rooms')).toEqual({
95
- from: 5,
96
- to: 30,
97
- });
98
- });
99
- it('Expect decimal range to be merged', function () {
100
- expect(mergeDecimalRange({ from: 0 }, { to: 5 })).toEqual({ from: 0, to: 5 });
101
- expect(mergeDecimalRange({}, {})).toEqual({});
102
- });
103
- it('Get coordinates from apiObject', function () {
104
- expect(getApiObjectCoordinates(constructionNumbers[0])).toEqual(TEST_GEOMETRY.coordinates);
105
- expect(getApiObjectCoordinates(constructionNumbers[1])).toBe(undefined);
106
- });
107
- it('Get center when location is set', function () {
108
- expect(getApiObjectCenter(projectPhases[0])).toEqual([[TEST_GEOMETRY.center]]);
109
- expect(getApiObjectCenter(projectPhases[1])).toBe(false);
110
- });
111
- it('Get center when no location is set, but geometry is', function () {
112
- expect(getApiObjectCenter(propertyTypes[0])).toEqual([[TEST_GEOMETRY.center]]);
113
- });
114
- it('Compose api exclude string', function () {
115
- expect(composeExcludeString(['geometry', 'cityName', 'areaProjectId'])).toBe('geometry,cityName,areaProjectId');
116
- });
117
- it('Returns if price should be shown or not', function () {
118
- expect(showPrice({ constructionNumber: constructionNumbers[0] })).toBe(true);
119
- expect(showPrice({ constructionNumber: constructionNumbers[1] })).toBe(false);
120
- });
121
- });
122
- //# sourceMappingURL=api-utilities.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"api-utilities.test.js","sourceRoot":"","sources":["../../../src/api-utilities/api-utilities.test.ts"],"names":[],"mappings":"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","sourcesContent":["import { ProjectPhaseModel, PropertyTypeModel } from '@/generated';\n\nimport { TEST_GEOMETRY } from '../geometry/geometry.test';\nimport { ExtendedConstructionNumber } from './api-utilities.types';\nimport { composeExcludeString } from './compose-exclude-string';\nimport { mergeDecimalRange } from './decimal-range/merge-decimal-range';\nimport {\n mergeConstructionNumberSpecification,\n mergePropertySpecification,\n} from './decimal-range/merge-specification-range';\nimport { getApiObjectCenter, getApiObjectCoordinates } from './get/coordinates';\nimport { showPrice } from './show-price';\n\nconst propertyTypes: PropertyTypeModel[] = [\n {\n id: '1',\n geometry: TEST_GEOMETRY.apiGeometry,\n specifications: {\n bedrooms: {\n from: 5,\n to: 10,\n },\n },\n },\n {\n id: '2',\n specifications: {\n bedrooms: {\n from: 1,\n },\n },\n },\n {\n id: '3',\n specifications: {\n bedrooms: {\n from: 6,\n to: 11,\n },\n },\n },\n];\n\nconst projectPhases: ProjectPhaseModel[] = [\n {\n id: '1',\n location: TEST_GEOMETRY.center,\n propertySpecifications: {\n plotArea: {\n from: 5,\n },\n },\n },\n {\n id: '2',\n propertySpecifications: {\n plotArea: {\n from: 20,\n },\n },\n },\n];\n\nconst constructionNumbers: ExtendedConstructionNumber[] = [\n {\n id: '1',\n specifications: {\n rooms: {\n from: 5,\n to: 11,\n },\n },\n geometry: TEST_GEOMETRY.apiGeometry,\n status: 'InOption',\n objectType: 'constructionNumber',\n },\n {\n id: '2',\n specifications: {\n rooms: {\n from: 20,\n to: 30,\n },\n },\n status: 'Sold',\n objectType: 'constructionNumber',\n },\n];\n\ndescribe('Api utilities', function () {\n it('Expect propertyType specification to be merged', function () {\n expect(mergePropertySpecification({ propertyTypes }, 'bedrooms')).toEqual({\n from: 1,\n to: 11,\n });\n });\n\n it('Expect projectPhase specification to be merged', function () {\n expect(mergePropertySpecification({ projectPhases }, 'plotArea')).toEqual({\n from: 5,\n to: 20,\n });\n });\n\n it('Expect construction number specification to be merged', function () {\n expect(mergeConstructionNumberSpecification(constructionNumbers, 'rooms')).toEqual({\n from: 5,\n to: 30,\n });\n });\n\n it('Expect decimal range to be merged', function () {\n expect(mergeDecimalRange({ from: 0 }, { to: 5 })).toEqual({ from: 0, to: 5 });\n expect(mergeDecimalRange({}, {})).toEqual({});\n });\n\n it('Get coordinates from apiObject', function () {\n expect(getApiObjectCoordinates(constructionNumbers[0])).toEqual(TEST_GEOMETRY.coordinates);\n\n expect(getApiObjectCoordinates(constructionNumbers[1])).toBe(undefined);\n });\n\n it('Get center when location is set', function () {\n expect(getApiObjectCenter(projectPhases[0])).toEqual([[TEST_GEOMETRY.center]]);\n expect(getApiObjectCenter(projectPhases[1])).toBe(false);\n });\n\n it('Get center when no location is set, but geometry is', function () {\n expect(getApiObjectCenter(propertyTypes[0])).toEqual([[TEST_GEOMETRY.center]]);\n });\n\n it('Compose api exclude string', function () {\n expect(composeExcludeString(['geometry', 'cityName', 'areaProjectId'])).toBe(\n 'geometry,cityName,areaProjectId',\n );\n });\n\n it('Returns if price should be shown or not', function () {\n expect(showPrice({ constructionNumber: constructionNumbers[0] })).toBe(true);\n expect(showPrice({ constructionNumber: constructionNumbers[1] })).toBe(false);\n });\n});\n"]}
@@ -1 +0,0 @@
1
- //# sourceMappingURL=api-utilities.types.js.map