@bpd-library/utilities 1.1.1-beta.3 → 1.1.1-beta.9
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.
- package/dist/{types/api → api}/http.d.ts +0 -0
- package/dist/{lib/api → api}/http.js +0 -0
- package/dist/api/http.js.map +1 -0
- package/dist/{types/api → api}/index.d.ts +0 -0
- package/dist/{lib/api → api}/index.js +0 -0
- package/dist/api/index.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/api-utilities.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/api-utilities.js +0 -0
- package/dist/api-utilities/api-utilities.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/api-utilities.test.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/api-utilities.test.js +3 -0
- package/dist/api-utilities/api-utilities.test.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/api-utilities.types.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/api-utilities.types.js +0 -0
- package/dist/api-utilities/api-utilities.types.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/compose-exclude-string.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/compose-exclude-string.js +0 -0
- package/dist/api-utilities/compose-exclude-string.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/decimal-range/merge-decimal-range.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/decimal-range/merge-decimal-range.js +0 -0
- package/dist/api-utilities/decimal-range/merge-decimal-range.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/decimal-range/merge-specification-range.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/decimal-range/merge-specification-range.js +0 -0
- package/dist/api-utilities/decimal-range/merge-specification-range.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/district-status.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/district-status.js +0 -0
- package/dist/api-utilities/district-status.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/find-filter.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/find-filter.js +0 -0
- package/dist/api-utilities/find-filter.js.map +1 -0
- package/dist/api-utilities/get/coordinates.d.ts +12 -0
- package/dist/{lib/api-utilities → api-utilities}/get/coordinates.js +7 -3
- package/dist/api-utilities/get/coordinates.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/get/layer-raster.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/get/layer-raster.js +0 -0
- package/dist/api-utilities/get/layer-raster.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/index.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/index.js +0 -0
- package/dist/api-utilities/index.js.map +1 -0
- package/dist/{types/api-utilities → api-utilities}/show-price.d.ts +0 -0
- package/dist/{lib/api-utilities → api-utilities}/show-price.js +0 -0
- package/dist/api-utilities/show-price.js.map +1 -0
- package/dist/{types/constants → constants}/index.d.ts +0 -0
- package/dist/{lib/constants → constants}/index.js +0 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/{types/date.d.ts → date.d.ts} +0 -0
- package/dist/{lib/date.js → date.js} +0 -0
- package/dist/date.js.map +1 -0
- package/dist/{types/debounce.d.ts → debounce.d.ts} +0 -0
- package/dist/{lib/debounce.js → debounce.js} +0 -0
- package/dist/debounce.js.map +1 -0
- package/dist/{types/dom → dom}/dom.d.ts +0 -0
- package/dist/{lib/dom → dom}/dom.js +0 -0
- package/dist/dom/dom.js.map +1 -0
- package/dist/{types/dom → dom}/index.d.ts +0 -0
- package/dist/{lib/dom → dom}/index.js +0 -0
- package/dist/dom/index.js.map +1 -0
- package/dist/{types/environment.d.ts → environment.d.ts} +0 -0
- package/dist/{lib/environment.js → environment.js} +0 -0
- package/dist/environment.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/excluded-properties.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/excluded-properties.js +0 -0
- package/dist/extended-api-models/excluded-properties.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/extended-area-projects.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/extended-area-projects.js +0 -0
- package/dist/extended-api-models/extended-area-projects.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/extended-area.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/extended-area.js +0 -0
- package/dist/extended-api-models/extended-area.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/index.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/index.js +0 -0
- package/dist/extended-api-models/index.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/status/apartment-building-status.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/status/apartment-building-status.js +0 -0
- package/dist/extended-api-models/status/apartment-building-status.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/status/construction-number-status.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/status/construction-number-status.js +0 -0
- package/dist/extended-api-models/status/construction-number-status.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/status/property-type-status.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/status/property-type-status.js +0 -0
- package/dist/extended-api-models/status/property-type-status.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/utilities/apartment-building-view.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/utilities/apartment-building-view.js +0 -0
- package/dist/extended-api-models/utilities/apartment-building-view.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/utilities/extended-model-price-range.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/utilities/extended-model-price-range.js +0 -0
- package/dist/extended-api-models/utilities/extended-model-price-range.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/utilities/find-extended-object.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/utilities/find-extended-object.js +0 -0
- package/dist/extended-api-models/utilities/find-extended-object.js.map +1 -0
- package/dist/{types/extended-api-models → extended-api-models}/utilities/is-apartment.d.ts +0 -0
- package/dist/{lib/extended-api-models → extended-api-models}/utilities/is-apartment.js +0 -0
- package/dist/extended-api-models/utilities/is-apartment.js.map +1 -0
- package/dist/{types/function-is-true.d.ts → function-is-true.d.ts} +0 -0
- package/dist/{lib/function-is-true.js → function-is-true.js} +0 -0
- package/dist/function-is-true.js.map +1 -0
- package/dist/{types/generated → generated}/bpd-client.d.ts +0 -0
- package/dist/{lib/generated → generated}/bpd-client.js +0 -0
- package/dist/generated/bpd-client.js.map +1 -0
- package/dist/{types/generated → generated}/index.d.ts +0 -0
- package/dist/{lib/generated → generated}/index.js +0 -0
- package/dist/generated/index.js.map +1 -0
- package/dist/{types/geometry → geometry}/country-bounding-box.d.ts +0 -0
- package/dist/{lib/geometry → geometry}/country-bounding-box.js +0 -0
- package/dist/geometry/country-bounding-box.js.map +1 -0
- package/dist/{types/geometry → geometry}/geometry.d.ts +4 -4
- package/dist/{lib/geometry → geometry}/geometry.js +0 -0
- package/dist/geometry/geometry.js.map +1 -0
- package/dist/{types/geometry → geometry}/geometry.test.d.ts +2 -2
- package/dist/{lib/geometry → geometry}/geometry.test.js +0 -0
- package/dist/geometry/geometry.test.js.map +1 -0
- package/dist/{types/geometry → geometry}/index.d.ts +0 -0
- package/dist/{lib/geometry → geometry}/index.js +0 -0
- package/dist/geometry/index.js.map +1 -0
- package/dist/{types/hooks → hooks}/index.d.ts +0 -1
- package/dist/{lib/hooks → hooks}/index.js +0 -1
- package/dist/hooks/index.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-click-outside.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-click-outside.js +0 -0
- package/dist/hooks/use-click-outside.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-delegate-listen.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-delegate-listen.js +0 -0
- package/dist/hooks/use-delegate-listen.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-form-changes.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-form-changes.js +0 -0
- package/dist/hooks/use-form-changes.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-history.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-history.js +0 -0
- package/dist/hooks/use-history.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-input.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-input.js +0 -0
- package/dist/hooks/use-input.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-keyboard-focus.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-keyboard-focus.js +0 -0
- package/dist/hooks/use-keyboard-focus.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-lazy.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-lazy.js +0 -0
- package/dist/hooks/use-lazy.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-map-storage.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-map-storage.js +0 -0
- package/dist/hooks/use-map-storage.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-scroll-position.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-scroll-position.js +0 -0
- package/dist/hooks/use-scroll-position.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-scroll-to.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-scroll-to.js +0 -0
- package/dist/hooks/use-scroll-to.js.map +1 -0
- package/dist/hooks/use-stylesheet.d.ts +15 -0
- package/dist/hooks/use-stylesheet.js +81 -0
- package/dist/hooks/use-stylesheet.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-text.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-text.js +0 -0
- package/dist/hooks/use-text.js.map +1 -0
- package/dist/{types/hooks → hooks}/use-url-params.d.ts +0 -0
- package/dist/{lib/hooks → hooks}/use-url-params.js +0 -0
- package/dist/hooks/use-url-params.js.map +1 -0
- package/dist/{types/index.d.ts → index.d.ts} +0 -0
- package/dist/{lib/index.js → index.js} +0 -0
- package/dist/index.js.map +1 -0
- package/dist/{types/is-touch.d.ts → is-touch.d.ts} +0 -0
- package/dist/{lib/is-touch.js → is-touch.js} +0 -0
- package/dist/is-touch.js.map +1 -0
- package/dist/{types/media-query → media-query}/breakpoints.d.ts +0 -0
- package/dist/{lib/media-query → media-query}/breakpoints.js +0 -0
- package/dist/media-query/breakpoints.js.map +1 -0
- package/dist/{types/media-query → media-query}/index.d.ts +0 -0
- package/dist/{lib/media-query → media-query}/index.js +0 -0
- package/dist/media-query/index.js.map +1 -0
- package/dist/{types/media-query → media-query}/media-query.d.ts +0 -0
- package/dist/{lib/media-query → media-query}/media-query.js +0 -0
- package/dist/media-query/media-query.js.map +1 -0
- package/dist/{types/media-query → media-query}/media-query.types.d.ts +0 -0
- package/dist/{lib/media-query → media-query}/media-query.types.js +0 -0
- package/dist/media-query/media-query.types.js.map +1 -0
- package/dist/{types/media-query → media-query}/utils/index.d.ts +0 -0
- package/dist/{lib/media-query → media-query}/utils/index.js +0 -0
- package/dist/media-query/utils/index.js.map +1 -0
- package/dist/{types/raf-throttle.d.ts → raf-throttle.d.ts} +0 -0
- package/dist/{lib/raf-throttle.js → raf-throttle.js} +0 -0
- package/dist/raf-throttle.js.map +1 -0
- package/dist/{types/throttle.d.ts → throttle.d.ts} +0 -0
- package/dist/{lib/throttle.js → throttle.js} +0 -0
- package/dist/throttle.js.map +1 -0
- package/dist/{types/to-currency.d.ts → to-currency.d.ts} +0 -0
- package/dist/{lib/to-currency.js → to-currency.js} +0 -0
- package/dist/to-currency.js.map +1 -0
- package/package.json +7 -11
- package/dist/esm/api/http.js +0 -120
- package/dist/esm/api/http.js.map +0 -1
- package/dist/esm/api/index.js +0 -11
- package/dist/esm/api/index.js.map +0 -1
- package/dist/esm/api-utilities/compose-exclude-string.js +0 -6
- package/dist/esm/api-utilities/compose-exclude-string.js.map +0 -1
- package/dist/esm/api-utilities/decimal-range/merge-decimal-range.js +0 -13
- package/dist/esm/api-utilities/decimal-range/merge-decimal-range.js.map +0 -1
- package/dist/esm/api-utilities/decimal-range/merge-specification-range.js +0 -29
- package/dist/esm/api-utilities/decimal-range/merge-specification-range.js.map +0 -1
- package/dist/esm/api-utilities/district-status.js +0 -14
- package/dist/esm/api-utilities/district-status.js.map +0 -1
- package/dist/esm/api-utilities/find-filter.js +0 -41
- package/dist/esm/api-utilities/find-filter.js.map +0 -1
- package/dist/esm/api-utilities/get/coordinates.js +0 -31
- package/dist/esm/api-utilities/get/coordinates.js.map +0 -1
- package/dist/esm/api-utilities/get/layer-raster.js +0 -4
- package/dist/esm/api-utilities/get/layer-raster.js.map +0 -1
- package/dist/esm/api-utilities/show-price.js +0 -7
- package/dist/esm/api-utilities/show-price.js.map +0 -1
- package/dist/esm/atomify.js +0 -14
- package/dist/esm/atomify.js.map +0 -1
- package/dist/esm/constants/index.js +0 -7
- package/dist/esm/constants/index.js.map +0 -1
- package/dist/esm/date.js +0 -11
- package/dist/esm/date.js.map +0 -1
- package/dist/esm/debounce.js +0 -25
- package/dist/esm/debounce.js.map +0 -1
- package/dist/esm/dom/dom.js +0 -9
- package/dist/esm/dom/dom.js.map +0 -1
- package/dist/esm/environment.js +0 -27
- package/dist/esm/environment.js.map +0 -1
- package/dist/esm/extended-api-models/excluded-properties.js +0 -36
- package/dist/esm/extended-api-models/excluded-properties.js.map +0 -1
- package/dist/esm/extended-api-models/extended-area-projects.js +0 -12
- package/dist/esm/extended-api-models/extended-area-projects.js.map +0 -1
- package/dist/esm/extended-api-models/extended-area.js +0 -182
- package/dist/esm/extended-api-models/extended-area.js.map +0 -1
- package/dist/esm/extended-api-models/status/apartment-building-status.js +0 -60
- package/dist/esm/extended-api-models/status/apartment-building-status.js.map +0 -1
- package/dist/esm/extended-api-models/status/construction-number-status.js +0 -20
- package/dist/esm/extended-api-models/status/construction-number-status.js.map +0 -1
- package/dist/esm/extended-api-models/status/property-type-status.js +0 -60
- package/dist/esm/extended-api-models/status/property-type-status.js.map +0 -1
- package/dist/esm/extended-api-models/utilities/apartment-building-view.js +0 -5
- package/dist/esm/extended-api-models/utilities/apartment-building-view.js.map +0 -1
- package/dist/esm/extended-api-models/utilities/extended-model-price-range.js +0 -37
- package/dist/esm/extended-api-models/utilities/extended-model-price-range.js.map +0 -1
- package/dist/esm/extended-api-models/utilities/find-extended-object.js +0 -23
- package/dist/esm/extended-api-models/utilities/find-extended-object.js.map +0 -1
- package/dist/esm/extended-api-models/utilities/is-apartment.js +0 -14
- package/dist/esm/extended-api-models/utilities/is-apartment.js.map +0 -1
- package/dist/esm/function-is-true.js +0 -13
- package/dist/esm/function-is-true.js.map +0 -1
- package/dist/esm/generated/bpd-client.js +0 -53
- package/dist/esm/generated/bpd-client.js.map +0 -1
- package/dist/esm/geometry/country-bounding-box.js +0 -14
- package/dist/esm/geometry/country-bounding-box.js.map +0 -1
- package/dist/esm/geometry/geometry.js +0 -65
- package/dist/esm/geometry/geometry.js.map +0 -1
- package/dist/esm/hooks/use-click-outside.js +0 -34
- package/dist/esm/hooks/use-click-outside.js.map +0 -1
- package/dist/esm/hooks/use-form-changes.js +0 -30
- package/dist/esm/hooks/use-form-changes.js.map +0 -1
- package/dist/esm/hooks/use-history.js +0 -15
- package/dist/esm/hooks/use-history.js.map +0 -1
- package/dist/esm/hooks/use-keyboard-focus.js +0 -14
- package/dist/esm/hooks/use-keyboard-focus.js.map +0 -1
- package/dist/esm/hooks/use-lazy.js +0 -47
- package/dist/esm/hooks/use-lazy.js.map +0 -1
- package/dist/esm/hooks/use-map-storage.js +0 -16
- package/dist/esm/hooks/use-map-storage.js.map +0 -1
- package/dist/esm/hooks/use-scroll-position.js +0 -23
- package/dist/esm/hooks/use-scroll-position.js.map +0 -1
- package/dist/esm/hooks/use-scroll-to.js +0 -66
- package/dist/esm/hooks/use-scroll-to.js.map +0 -1
- package/dist/esm/hooks/use-stylesheet.js +0 -8
- package/dist/esm/hooks/use-stylesheet.js.map +0 -1
- package/dist/esm/hooks/use-url-params.js +0 -31
- package/dist/esm/hooks/use-url-params.js.map +0 -1
- package/dist/esm/index.js +0 -40
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/is-touch.js +0 -32
- package/dist/esm/is-touch.js.map +0 -1
- package/dist/esm/media-query/breakpoints.js +0 -29
- package/dist/esm/media-query/breakpoints.js.map +0 -1
- package/dist/esm/media-query/media-query.js +0 -39
- package/dist/esm/media-query/media-query.js.map +0 -1
- package/dist/esm/media-query/utils/index.js +0 -35
- package/dist/esm/media-query/utils/index.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/core/apply-attributes.js +0 -87
- package/dist/esm/node_modules/@atomify/jsx/dist/core/apply-attributes.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/core/create-element.js +0 -14
- package/dist/esm/node_modules/@atomify/jsx/dist/core/create-element.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/core/create-fragment-from-children.js +0 -20
- package/dist/esm/node_modules/@atomify/jsx/dist/core/create-fragment-from-children.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/index.js +0 -18
- package/dist/esm/node_modules/@atomify/jsx/dist/index.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/class-names.js +0 -19
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/class-names.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/index.js +0 -7
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/index.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/is-boolean-attr.js +0 -29
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/is-boolean-attr.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/is-custom-element.js +0 -6
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/is-custom-element.js.map +0 -1
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/is-svg.js +0 -101
- package/dist/esm/node_modules/@atomify/jsx/dist/utilities/is-svg.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/hooks/use-classname.js +0 -34
- package/dist/esm/node_modules/@atomify/kit/dist/hooks/use-classname.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/hooks/use-store.js +0 -13
- package/dist/esm/node_modules/@atomify/kit/dist/hooks/use-store.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/index.js +0 -8
- package/dist/esm/node_modules/@atomify/kit/dist/index.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/inview.js +0 -66
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/inview.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/build-treshhold-list.js +0 -13
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/build-treshhold-list.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/generate-unique-element-id.js +0 -20
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/generate-unique-element-id.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/has-observer-items.js +0 -22
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/has-observer-items.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/on-change.js +0 -21
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/inview/utils/on-change.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/loadable/loadable.js +0 -79
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/loadable/loadable.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/media-query/breakpoints.js +0 -29
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/media-query/breakpoints.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/media-query/media-query.js +0 -34
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/media-query/media-query.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/media-query/utils/index.js +0 -38
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/media-query/utils/index.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/store/polyfill/index.js +0 -12
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/store/polyfill/index.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/store/polyfill/proxy.js +0 -119
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/store/polyfill/proxy.js.map +0 -1
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/store/store.js +0 -53
- package/dist/esm/node_modules/@atomify/kit/dist/utilities/store/store.js.map +0 -1
- package/dist/esm/raf-throttle.js +0 -24
- package/dist/esm/raf-throttle.js.map +0 -1
- package/dist/esm/throttle.js +0 -23
- package/dist/esm/throttle.js.map +0 -1
- package/dist/esm/to-currency.js +0 -26
- package/dist/esm/to-currency.js.map +0 -1
- package/dist/lib/api/http.js.map +0 -1
- package/dist/lib/api/index.js.map +0 -1
- package/dist/lib/api-utilities/api-utilities.js.map +0 -1
- package/dist/lib/api-utilities/api-utilities.test.js.map +0 -1
- package/dist/lib/api-utilities/api-utilities.types.js.map +0 -1
- package/dist/lib/api-utilities/compose-exclude-string.js.map +0 -1
- package/dist/lib/api-utilities/decimal-range/merge-decimal-range.js.map +0 -1
- package/dist/lib/api-utilities/decimal-range/merge-specification-range.js.map +0 -1
- package/dist/lib/api-utilities/district-status.js.map +0 -1
- package/dist/lib/api-utilities/find-filter.js.map +0 -1
- package/dist/lib/api-utilities/get/coordinates.js.map +0 -1
- package/dist/lib/api-utilities/get/layer-raster.js.map +0 -1
- package/dist/lib/api-utilities/index.js.map +0 -1
- package/dist/lib/api-utilities/show-price.js.map +0 -1
- package/dist/lib/atomify/index.js +0 -6
- package/dist/lib/atomify/index.js.map +0 -1
- package/dist/lib/atomify.js +0 -11
- package/dist/lib/atomify.js.map +0 -1
- package/dist/lib/constants/index.js.map +0 -1
- package/dist/lib/date.js.map +0 -1
- package/dist/lib/debounce.js.map +0 -1
- package/dist/lib/dom/dom.js.map +0 -1
- package/dist/lib/dom/index.js.map +0 -1
- package/dist/lib/environment.js.map +0 -1
- package/dist/lib/extended-api-models/excluded-properties.js.map +0 -1
- package/dist/lib/extended-api-models/extended-area-projects.js.map +0 -1
- package/dist/lib/extended-api-models/extended-area.js.map +0 -1
- package/dist/lib/extended-api-models/index.js.map +0 -1
- package/dist/lib/extended-api-models/status/apartment-building-status.js.map +0 -1
- package/dist/lib/extended-api-models/status/construction-number-status.js.map +0 -1
- package/dist/lib/extended-api-models/status/property-type-status.js.map +0 -1
- package/dist/lib/extended-api-models/utilities/apartment-building-view.js.map +0 -1
- package/dist/lib/extended-api-models/utilities/extended-model-price-range.js.map +0 -1
- package/dist/lib/extended-api-models/utilities/find-extended-object.js.map +0 -1
- package/dist/lib/extended-api-models/utilities/is-apartment.js.map +0 -1
- package/dist/lib/function-is-true.js.map +0 -1
- package/dist/lib/generated/bpd-client.js.map +0 -1
- package/dist/lib/generated/index.js.map +0 -1
- package/dist/lib/geometry/country-bounding-box.js.map +0 -1
- package/dist/lib/geometry/geometry.js.map +0 -1
- package/dist/lib/geometry/geometry.test.js.map +0 -1
- package/dist/lib/geometry/index.js.map +0 -1
- package/dist/lib/hooks/index.js.map +0 -1
- package/dist/lib/hooks/use-click-outside.js.map +0 -1
- package/dist/lib/hooks/use-delegate-listen.js.map +0 -1
- package/dist/lib/hooks/use-form-changes.js.map +0 -1
- package/dist/lib/hooks/use-history.js.map +0 -1
- package/dist/lib/hooks/use-input.js.map +0 -1
- package/dist/lib/hooks/use-keyboard-focus.js.map +0 -1
- package/dist/lib/hooks/use-lazy.js.map +0 -1
- package/dist/lib/hooks/use-map-storage.js.map +0 -1
- package/dist/lib/hooks/use-scroll-position.js.map +0 -1
- package/dist/lib/hooks/use-scroll-to.js.map +0 -1
- package/dist/lib/hooks/use-stylesheet.js +0 -5
- package/dist/lib/hooks/use-stylesheet.js.map +0 -1
- package/dist/lib/hooks/use-text.js.map +0 -1
- package/dist/lib/hooks/use-url-params.js.map +0 -1
- package/dist/lib/index.js.map +0 -1
- package/dist/lib/is-touch.js.map +0 -1
- package/dist/lib/media-query/breakpoints.js.map +0 -1
- package/dist/lib/media-query/index.js.map +0 -1
- package/dist/lib/media-query/media-query.js.map +0 -1
- package/dist/lib/media-query/media-query.types.js.map +0 -1
- package/dist/lib/media-query/utils/index.js.map +0 -1
- package/dist/lib/raf-throttle.js.map +0 -1
- package/dist/lib/throttle.js.map +0 -1
- package/dist/lib/to-currency.js.map +0 -1
- package/dist/types/api-utilities/get/coordinates.d.ts +0 -6
- package/dist/types/atomify/index.d.ts +0 -5
- package/dist/types/atomify.d.ts +0 -10
- package/dist/types/hooks/use-stylesheet.d.ts +0 -1
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
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"]}
|
|
File without changes
|
|
@@ -108,6 +108,9 @@ describe('Api utilities', function () {
|
|
|
108
108
|
expect(getApiObjectCenter(projectPhases[0])).toEqual([[TEST_GEOMETRY.center]]);
|
|
109
109
|
expect(getApiObjectCenter(projectPhases[1])).toBe(false);
|
|
110
110
|
});
|
|
111
|
+
it('Get center as Coordinate when location is set', function () {
|
|
112
|
+
expect(getApiObjectCenter(projectPhases[0], { as: 'coordinate' })).toEqual(TEST_GEOMETRY.center);
|
|
113
|
+
});
|
|
111
114
|
it('Get center when no location is set, but geometry is', function () {
|
|
112
115
|
expect(getApiObjectCenter(propertyTypes[0])).toEqual([[TEST_GEOMETRY.center]]);
|
|
113
116
|
});
|
|
@@ -0,0 +1 @@
|
|
|
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 as Coordinate when location is set', function () {\n expect(getApiObjectCenter(projectPhases[0], { as: 'coordinate' })).toEqual(\n TEST_GEOMETRY.center,\n );\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"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"api-utilities.types.js","sourceRoot":"","sources":["../../src/api-utilities/api-utilities.types.ts"],"names":[],"mappings":"","sourcesContent":["import { MapDataItem } from '@bpd-library/types';\n\nimport {\n ApartmentBuildingModel,\n AreaProjectModel,\n ConstructionNumberModel,\n DistrictModel,\n ProjectPhaseModel,\n ProjectPhaseStatus,\n PropertyTypeModel,\n} from '../generated';\n\ntype PropertyTypeStatus =\n | 'InPreparation'\n | 'SaleSoon'\n | 'SaleStarted'\n | 'AssigningOn'\n | 'AmountAvailable'\n | 'InOption'\n | 'Sold'\n | 'UnderConstruction'\n | 'ForRent'\n | 'Rented';\n\ntype ApartmentBuildingStatus =\n | 'InPreparation'\n | 'SaleSoon'\n | 'SaleStarted'\n | 'AssigningOn'\n | 'AmountAvailable'\n | 'Available'\n | 'ForRent'\n | 'InOption'\n | 'Sold'\n | 'Rented'\n | 'UnderConstruction';\n\ntype GeneratedConstructionNumberStatus =\n | 'InPreparation'\n | 'InOption'\n | 'Available'\n | 'Sold'\n | 'Rented'\n | 'UnderConstruction';\n\ninterface ExtendedConstructionNumber\n extends Omit<\n ConstructionNumberModel,\n /*\n THE OMITTED VALUES ALSO NEED TO BE CHANGED IN excluded-properties.ts\n */\n | 'shortDescription'\n | 'longDescription'\n | 'resources'\n | 'gardens'\n | 'outbuildings'\n | 'groundLease'\n | 'floors'\n | 'outsideSpace'\n | 'extraSpecifications'\n | 'landRegistration'\n > {\n areaProject?: AreaProjectModel;\n propertyType?: ExtendedPropertyType;\n projectPhase?: ExtendedProjectPhase;\n mapDataItems?: MapDataItem[];\n apartmentBuilding?: ExtendedApartmentBuilding;\n status?: GeneratedConstructionNumberStatus;\n objectType: 'constructionNumber';\n}\n\ninterface ExtendedPropertyType\n extends Omit<\n PropertyTypeModel,\n /*\n THE OMITTED VALUES ALSO NEED TO BE CHANGED IN excluded-properties.ts\n */\n | 'shortDescription'\n | 'longDescription'\n | 'environmentTypes'\n | 'groundLease'\n | 'resources'\n | 'constructionStartDate'\n | 'indicationServiceCosts'\n | 'indicationSecurity'\n | 'floors'\n | 'gardens'\n | 'outbuildings'\n | 'usp1Title'\n | 'usp1Text'\n | 'usp2Title'\n | 'usp2Text'\n > {\n constructionNumbers?: ExtendedConstructionNumber[];\n projectPhase?: ExtendedProjectPhase;\n mapDataItems?: MapDataItem[];\n status?: PropertyTypeStatus;\n apartmentBuildings?: ExtendedApartmentBuilding[];\n objectType: 'propertyType';\n}\n\ninterface ExtendedProjectPhase\n extends Omit<\n ProjectPhaseModel,\n /*\n THE OMITTED VALUES ALSO NEED TO BE CHANGED IN excluded-properties.ts\n */\n 'longDescription' | 'resources'\n > {\n constructionNumbers?: ExtendedConstructionNumber[];\n propertyTypes?: ExtendedPropertyType[];\n mapDataItems?: MapDataItem[];\n objectType: 'projectPhase';\n}\n\ninterface ExtendedApartmentBuilding extends ApartmentBuildingModel {\n constructionNumbers?: ExtendedConstructionNumber[];\n propertyTypes?: ExtendedPropertyType[];\n projectPhase?: ExtendedProjectPhase;\n mapDataItems?: MapDataItem[];\n status?: ApartmentBuildingStatus;\n objectType: 'apartmentBuilding';\n}\n\ninterface ExtendedDistrict extends DistrictModel {\n status?: ProjectPhaseStatus;\n mapDataItems?: MapDataItem[];\n objectType: 'district';\n}\n\ninterface ExtendedAreaProject extends AreaProjectModel {\n mapDataItems?: MapDataItem[];\n objectType: 'areaProject';\n}\n\nexport {\n ExtendedConstructionNumber,\n ExtendedPropertyType,\n ExtendedApartmentBuilding,\n ExtendedProjectPhase,\n ExtendedDistrict,\n ExtendedAreaProject,\n PropertyTypeStatus,\n ApartmentBuildingStatus,\n GeneratedConstructionNumberStatus,\n};\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compose-exclude-string.js","sourceRoot":"","sources":["../../src/api-utilities/compose-exclude-string.ts"],"names":[],"mappings":"AASA,MAAM,oBAAoB,GAAG,CACzB,IAOG,EACL,EAAE;IACA,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC1B,CAAC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC","sourcesContent":["import {\n ApartmentBuildingModel,\n AreaProjectModel,\n ConstructionNumberModel,\n DistrictModel,\n ProjectPhaseModel,\n PropertyTypeModel,\n} from '../generated';\n\nconst composeExcludeString = (\n keys: (\n | keyof ConstructionNumberModel\n | keyof PropertyTypeModel\n | keyof ApartmentBuildingModel\n | keyof ProjectPhaseModel\n | keyof DistrictModel\n | keyof AreaProjectModel\n )[],\n) => {\n return keys.join(',');\n};\n\nexport { composeExcludeString };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-decimal-range.js","sourceRoot":"","sources":["../../../src/api-utilities/decimal-range/merge-decimal-range.ts"],"names":[],"mappings":"AAEA,MAAM,aAAa,GAAG,CAAC,MAAqC,EAAY,EAAE,CACtE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,CAAa,CAAC;AAEhD,MAAM,iBAAiB,GAAG,CACtB,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAgB,EACtC,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,GAAG,EAAgB,EACxC,EAAE;IACA,MAAM,WAAW,GAAiB,EAAE,CAAC;IACrC,MAAM,eAAe,GAAG,aAAa,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC;IAEhE,IAAI,CAAC,eAAe,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEvC,WAAW,CAAC,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,CAAC;IAE9C,OAAO,WAAW,CAAC;AACvB,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { DecimalRange } from '../../generated';\n\nconst filterNumbers = (values: (number | null | undefined)[]): number[] =>\n values.filter(Number.isInteger) as number[];\n\nconst mergeDecimalRange = (\n { from: fromA, to: toA }: DecimalRange,\n { from: fromB, to: toB }: DecimalRange,\n) => {\n const mergedRange: DecimalRange = {};\n const filteredNumbers = filterNumbers([fromA, toA, fromB, toB]);\n\n if (!filteredNumbers.length) return {};\n\n mergedRange.from = Math.min(...filteredNumbers);\n mergedRange.to = Math.max(...filteredNumbers);\n\n return mergedRange;\n};\n\nexport { mergeDecimalRange };\n"]}
|
package/dist/{types/api-utilities → api-utilities}/decimal-range/merge-specification-range.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-specification-range.js","sourceRoot":"","sources":["../../../src/api-utilities/decimal-range/merge-specification-range.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAS1D,MAAM,kBAAkB,GAAG,CACvB,KAAmB,EACnB,GAAyB,EACzB,cAA+B,EACnB,EAAE;IACd,IAAI,cAAc,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE;QACvC,OAAO,iBAAiB,CAAC,KAAK,EAAE,cAAc,CAAC,GAAG,CAAE,CAAC,CAAC;KACzD;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAeF,MAAM,0BAA0B,GAA4B,CACxD,EACI,aAAa,EACb,aAAa,GAIhB,EACD,GAAiC,EACrB,EAAE;IACd,IAAI,aAAa,EAAE;QACf,OAAO,aAAa,CAAC,MAAM,CAAe,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC9D,OAAO,kBAAkB,CACrB,KAAK,EACL,GAAG,EACH,YAAY,CAAC,cAAc,CAC9B,CAAC;QACN,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;IAED,IAAI,aAAa,EAAE;QACf,OAAO,aAAa,CAAC,MAAM,CAAe,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC9D,OAAO,kBAAkB,CACrB,KAAK,EACL,GAAG,EACH,YAAY,CAAC,sBAAsB,CACtC,CAAC;QACN,CAAC,EAAE,EAAE,CAAC,CAAC;KACV;IAED,OAAO,EAAE,CAAC;AACd,CAAC,CAAC;AASF,MAAM,oCAAoC,GAAG,CACzC,mBAA8C,EAC9C,GAA2C,EAC/B,EAAE;IACd,OAAO,mBAAmB,CAAC,MAAM,CAAe,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE;QAC1E,OAAO,kBAAkB,CACrB,KAAK,EACL,GAAG,EACH,kBAAkB,CAAC,cAAc,CACpC,CAAC;IACN,CAAC,EAAE,EAAE,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,oCAAoC,EAAE,CAAC","sourcesContent":["import {\n ConstructionNumberModel,\n ConstructionNumberSpecifications,\n DecimalRange,\n ProjectPhaseModel,\n PropertySpecifications,\n PropertyTypeModel,\n} from '../../generated';\nimport { mergeDecimalRange } from './merge-decimal-range';\n\ntype PropertyKeys = keyof PropertySpecifications;\n\ninterface MergeSpecificationRange {\n (obj: { propertyTypes: PropertyTypeModel[] }, key: PropertyKeys): DecimalRange;\n (obj: { projectPhases: ProjectPhaseModel[] }, key: PropertyKeys): DecimalRange;\n}\n\nconst mergeSpecification = <Specifications>(\n range: DecimalRange,\n key: keyof Specifications,\n specifications?: Specifications,\n): DecimalRange => {\n if (specifications && specifications[key]) {\n return mergeDecimalRange(range, specifications[key]!);\n }\n\n return range;\n};\n\n/**\n * Merges all specification properties of an array of apiObjects:\n *\n * @param {{\n * propertyTypes?: PropertyTypeModel[];\n * projectPhases?: ProjectPhaseModel[];\n * }} {\n * propertyTypes,\n * projectPhases,\n * }\n * @param {keyof PropertySpecifications} key\n * @return {*} {DecimalRange}\n */\nconst mergePropertySpecification: MergeSpecificationRange = (\n {\n propertyTypes,\n projectPhases,\n }: {\n propertyTypes?: PropertyTypeModel[];\n projectPhases?: ProjectPhaseModel[];\n },\n key: keyof PropertySpecifications,\n): DecimalRange => {\n if (propertyTypes) {\n return propertyTypes.reduce<DecimalRange>((range, propertyType) => {\n return mergeSpecification<PropertySpecifications>(\n range,\n key,\n propertyType.specifications,\n );\n }, {});\n }\n\n if (projectPhases) {\n return projectPhases.reduce<DecimalRange>((range, projectPhase) => {\n return mergeSpecification<PropertySpecifications>(\n range,\n key,\n projectPhase.propertySpecifications,\n );\n }, {});\n }\n\n return {};\n};\n\n/**\n * Merges all specification properties of an array of constructionNumbers\n *\n * @param {ConstructionNumberModel[]} constructionNumbers\n * @param {keyof ConstructionNumberSpecifications} key\n * @return {*} {DecimalRange}\n */\nconst mergeConstructionNumberSpecification = (\n constructionNumbers: ConstructionNumberModel[],\n key: keyof ConstructionNumberSpecifications,\n): DecimalRange => {\n return constructionNumbers.reduce<DecimalRange>((range, constructionNumber) => {\n return mergeSpecification<ConstructionNumberSpecifications>(\n range,\n key,\n constructionNumber.specifications,\n );\n }, {});\n};\n\nexport { mergePropertySpecification, mergeConstructionNumberSpecification };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"district-status.js","sourceRoot":"","sources":["../../src/api-utilities/district-status.ts"],"names":[],"mappings":"AAKA,MAAM,iBAAiB,GAAG,CACtB,QAAuB,EACvB,aAAkC,EAChB,EAAE;IAEpB,MAAM,qBAAqB,GAAG,aAAa,CAAC,MAAM,CAC9C,CAAC,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,UAAU,CACjD,CAAC;IAEF,MAAM,QAAQ,GAAG,qBAAqB;SACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;SAC1B,MAAM,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,MAAM,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,KAAK,CAAC,CAAC;IAG/E,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAI,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC;IAErD,OAAO,eAAe,CAAC;AAC3B,CAAC,CAAC;AAEF,OAAO,EAAE,iBAAiB,EAAE,CAAC","sourcesContent":["import { DistrictModel, ProjectPhaseModel, ProjectPhaseStatus } from '../generated';\n\n/*\n Returns a status based on related projectPhases\n*/\nconst getDistrictStatus = (\n district: DistrictModel,\n projectPhases: ProjectPhaseModel[],\n): ProjectPhaseStatus => {\n // Filter related project phases\n const filteredProjectPhases = projectPhases.filter(\n ({ districtId }) => district.id === districtId,\n );\n\n const statuses = filteredProjectPhases\n .map((item) => item.status)\n .filter((status, index, self) => status && self.indexOf(status) === index);\n\n // Return correct district status\n if (statuses.length === 1 && statuses[0]) return statuses[0];\n\n if (statuses.indexOf('OnSale') > -1) return 'OnSale';\n\n return 'InPreparation';\n};\n\nexport { getDistrictStatus };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-filter.js","sourceRoot":"","sources":["../../src/api-utilities/find-filter.ts"],"names":[],"mappings":"AASA,MAAM,gBAAgB,GAAG,GAA0B,EAAE;IACjD,OAAO,CAAgB,OAAY,EAAE,UAAsB,EAAO,EAAE,CAChE,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACtB,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,SAAS,GAAG,UAAU,CAAC,GAA8B,CAAQ,CAAC;YAEpE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO;YAE1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAc,CAAC,KAAK,SAAS,CAAC;YAE9D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,GAA0B,EAAE;IAC9C,OAAO,CAAgB,OAAY,EAAE,UAAsB,EAAiB,EAAE,CAC1E,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE;QACpB,MAAM,KAAK,GAAc,EAAE,CAAC;QAE5B,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,MAAM,SAAS,GAAG,UAAU,CAAC,GAA8B,CAAQ,CAAC;YAEpE,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,SAAS;gBAAE,OAAO;YAE1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,GAAc,CAAC,KAAK,SAAS,CAAC;YAE9D,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACjC,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACX,CAAC,CAAC;AA0BF,MAAM,yBAAyB,GAAG,gBAAgB,EAG/C,CAAC;AACJ,MAAM,mBAAmB,GAAG,gBAAgB,EAA6C,CAAC;AAC1F,MAAM,mBAAmB,GAAG,gBAAgB,EAA6C,CAAC;AAC1F,MAAM,eAAe,GAAG,gBAAgB,EAAqC,CAAC;AAC9E,MAAM,kBAAkB,GAAG,gBAAgB,EAA2C,CAAC;AACvF,MAAM,wBAAwB,GAAG,gBAAgB,EAG9C,CAAC;AAEJ,MAAM,sBAAsB,GAAG,aAAa,EAGzC,CAAC;AACJ,MAAM,gBAAgB,GAAG,aAAa,EAA6C,CAAC;AACpF,MAAM,gBAAgB,GAAG,aAAa,EAA6C,CAAC;AACpF,MAAM,YAAY,GAAG,aAAa,EAAqC,CAAC;AACxE,MAAM,eAAe,GAAG,aAAa,EAA2C,CAAC;AACjF,MAAM,qBAAqB,GAAG,aAAa,EAAuD,CAAC;AAEnG,OAAO,EACH,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,kBAAkB,EAClB,wBAAwB,EACxB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,eAAe,EACf,qBAAqB,GACxB,CAAC","sourcesContent":["import {\n ApartmentBuildingModel,\n AreaProjectModel,\n ConstructionNumberModel,\n DistrictModel,\n ProjectPhaseModel,\n PropertyTypeModel,\n} from '../generated';\n\nconst filterApiObjects = <ApiObject, Conditions>() => {\n return <T = ApiObject>(objects: T[], conditions: Conditions): T[] =>\n objects.filter((object) => {\n const match: boolean[] = [];\n\n Object.keys(conditions).forEach((key) => {\n const condition = conditions[key as keyof typeof conditions] as any;\n\n if (condition === null || condition === undefined) return;\n\n const conditionMatches = object[key as keyof T] === condition;\n\n match.push(conditionMatches);\n });\n\n return match.indexOf(false) === -1;\n });\n};\n\nconst findApiObject = <ApiObject, Conditions>() => {\n return <T = ApiObject>(objects: T[], conditions: Conditions): T | undefined =>\n objects.find((object) => {\n const match: boolean[] = [];\n\n Object.keys(conditions).forEach((key) => {\n const condition = conditions[key as keyof typeof conditions] as any;\n\n if (condition === null || condition === undefined) return;\n\n const conditionMatches = object[key as keyof T] === condition;\n\n match.push(conditionMatches);\n });\n\n return match.indexOf(false) === -1;\n });\n};\n\ninterface ConstructionNumberConditions extends Omit<ConstructionNumberModel, 'id'> {\n id?: string;\n}\n\ninterface PropertyTypeConditions extends Omit<PropertyTypeModel, 'id'> {\n id?: string;\n}\n\ninterface ProjectPhaseConditions extends Omit<ProjectPhaseModel, 'id'> {\n id?: string;\n}\n\ninterface DistrictConditions extends Omit<DistrictModel, 'id'> {\n id?: string;\n}\n\ninterface AreaProjectConditions extends Omit<AreaProjectModel, 'id'> {\n id?: string;\n}\n\ninterface ApartmentBuildingConditions extends Omit<ApartmentBuildingModel, 'id'> {\n id?: string;\n}\n\nconst filterConstructionNumbers = filterApiObjects<\n ConstructionNumberModel,\n ConstructionNumberConditions\n>();\nconst filterPropertyTypes = filterApiObjects<PropertyTypeModel, PropertyTypeConditions>();\nconst filterProjectPhases = filterApiObjects<ProjectPhaseModel, ProjectPhaseConditions>();\nconst filterDistricts = filterApiObjects<DistrictModel, DistrictConditions>();\nconst filterAreaProjects = filterApiObjects<AreaProjectModel, AreaProjectConditions>();\nconst filterApartmentBuildings = filterApiObjects<\n ApartmentBuildingModel,\n ApartmentBuildingConditions\n>();\n\nconst findConstructionNumber = findApiObject<\n ConstructionNumberModel,\n ConstructionNumberConditions\n>();\nconst findPropertyType = findApiObject<PropertyTypeModel, PropertyTypeConditions>();\nconst findProjectPhase = findApiObject<ProjectPhaseModel, ProjectPhaseConditions>();\nconst findDistrict = findApiObject<DistrictModel, DistrictConditions>();\nconst findAreaProject = findApiObject<AreaProjectModel, AreaProjectConditions>();\nconst findApartmentBuilding = findApiObject<ApartmentBuildingModel, ApartmentBuildingConditions>();\n\nexport {\n filterConstructionNumbers,\n filterPropertyTypes,\n filterProjectPhases,\n filterDistricts,\n filterAreaProjects,\n filterApartmentBuildings,\n findConstructionNumber,\n findPropertyType,\n findProjectPhase,\n findDistrict,\n findAreaProject,\n findApartmentBuilding,\n};\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { Coordinate, Coordinates } from '@bpd-library/types';
|
|
2
|
+
import { AreaProjectModel, ConstructionNumberModel, DistrictModel, ProjectPhaseModel, PropertyTypeModel } from '../../generated';
|
|
3
|
+
declare const validateCoordinates: (coordinates: Coordinates) => boolean;
|
|
4
|
+
declare function getApiObjectCenter(apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel): Coordinates | false;
|
|
5
|
+
declare function getApiObjectCenter(apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel, options?: {
|
|
6
|
+
as?: 'coordinates';
|
|
7
|
+
}): Coordinates | false;
|
|
8
|
+
declare function getApiObjectCenter(apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel, options?: {
|
|
9
|
+
as?: 'coordinate';
|
|
10
|
+
}): Coordinate | false;
|
|
11
|
+
declare const getApiObjectCoordinates: ({ geometry, }: DistrictModel | ProjectPhaseModel | PropertyTypeModel | ConstructionNumberModel) => Coordinates | undefined;
|
|
12
|
+
export { validateCoordinates, getApiObjectCenter, getApiObjectCoordinates };
|
|
@@ -5,7 +5,7 @@ const validateCoordinates = (coordinates) => {
|
|
|
5
5
|
}));
|
|
6
6
|
return validates;
|
|
7
7
|
};
|
|
8
|
-
|
|
8
|
+
function getApiObjectCenter(apiObject, options) {
|
|
9
9
|
const { location } = apiObject;
|
|
10
10
|
let coordinates;
|
|
11
11
|
if (location) {
|
|
@@ -15,8 +15,12 @@ const getApiObjectCenter = (apiObject) => {
|
|
|
15
15
|
coordinates = getApiObjectCoordinates(apiObject);
|
|
16
16
|
coordinates = coordinates ? [[calculateCenter(coordinates)]] : undefined;
|
|
17
17
|
}
|
|
18
|
-
|
|
19
|
-
|
|
18
|
+
if (!coordinates || !validateCoordinates(coordinates))
|
|
19
|
+
return false;
|
|
20
|
+
if ((options === null || options === void 0 ? void 0 : options.as) === 'coordinate')
|
|
21
|
+
return coordinates[0][0];
|
|
22
|
+
return coordinates;
|
|
23
|
+
}
|
|
20
24
|
const getApiObjectCoordinates = ({ geometry, }) => {
|
|
21
25
|
if (!(geometry === null || geometry === void 0 ? void 0 : geometry.length))
|
|
22
26
|
return;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"coordinates.js","sourceRoot":"","sources":["../../../src/api-utilities/get/coordinates.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,mBAAmB,GAAG,CAAC,WAAwB,EAAE,EAAE;IACrD,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,UAAU,EAAE,EAAE,CAC/C,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,QAAQ,CAAC,EAAE,EAAE;QACvC,OAAO,SAAS,GAAG,GAAG,IAAI,SAAS,GAAG,CAAC,GAAG,IAAI,QAAQ,GAAG,CAAC,EAAE,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClF,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,SAAS,CAAC;AACrB,CAAC,CAAC;AAcF,SAAS,kBAAkB,CACvB,SAA+D,EAC/D,OAA+C;IAE/C,MAAM,EAAE,QAAQ,EAAE,GAAG,SAAS,CAAC;IAE/B,IAAI,WAAoC,CAAC;IAEzC,IAAI,QAAQ,EAAE;QACV,WAAW,GAAG,CAAC,CAAC,QAAsB,CAAC,CAAC,CAAC;KAC5C;SAAM,IAAI,uBAAuB,CAAC,SAAS,CAAC,EAAE;QAC3C,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,CAAC;QACjD,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;KAC5E;IAED,IAAI,CAAC,WAAW,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpE,IAAI,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,EAAE,MAAK,YAAY;QAAE,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3D,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,MAAM,uBAAuB,GAAG,CAAC,EAC7B,QAAQ,GACsE,EAElE,EAAE;IACd,IAAI,EAAC,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAE,MAAM,CAAA;QAAE,OAAO;IAE9B,MAAM,WAAW,GAAG,QAAQ;SACvB,MAAM,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC;SAC1C,GAAG,CAAC,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,WAA2B,CAAC,CAAC;IAE3D,OAAO,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,EAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;AACzD,CAAC,CAAC;AAEF,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import { Coordinate, Coordinates } from '@bpd-library/types';\n\nimport {\n AreaProjectModel,\n ConstructionNumberModel,\n DistrictModel,\n ProjectPhaseModel,\n PropertyTypeModel,\n} from '../../generated';\nimport { calculateCenter } from '../../geometry';\n\nconst validateCoordinates = (coordinates: Coordinates) => {\n const validates = coordinates.every((coordinate) =>\n coordinate.every(([longitude, latitude]) => {\n return longitude < 180 && longitude > -180 && latitude > -90 && latitude < 90;\n }),\n );\n\n return validates;\n};\n\nfunction getApiObjectCenter(\n apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel,\n): Coordinates | false;\nfunction getApiObjectCenter(\n apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel,\n options?: { as?: 'coordinates' },\n): Coordinates | false;\nfunction getApiObjectCenter(\n apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel,\n options?: { as?: 'coordinate' },\n): Coordinate | false;\n\nfunction getApiObjectCenter(\n apiObject: AreaProjectModel | ProjectPhaseModel | DistrictModel,\n options?: { as?: 'coordinates' | 'coordinate' },\n) {\n const { location } = apiObject;\n\n let coordinates: Coordinates | undefined;\n\n if (location) {\n coordinates = [[location as Coordinate]];\n } else if (getApiObjectCoordinates(apiObject)) {\n coordinates = getApiObjectCoordinates(apiObject);\n coordinates = coordinates ? [[calculateCenter(coordinates)]] : undefined;\n }\n\n if (!coordinates || !validateCoordinates(coordinates)) return false;\n\n if (options?.as === 'coordinate') return coordinates[0][0];\n\n return coordinates;\n}\n\nconst getApiObjectCoordinates = ({\n geometry,\n}: DistrictModel | ProjectPhaseModel | PropertyTypeModel | ConstructionNumberModel):\n | Coordinates\n | undefined => {\n if (!geometry?.length) return;\n\n const coordinates = geometry\n .filter(({ coordinates }) => !!coordinates)\n .map(({ coordinates }) => coordinates as Coordinate[]);\n\n return coordinates?.length ? coordinates : undefined;\n};\n\nexport { validateCoordinates, getApiObjectCenter, getApiObjectCoordinates };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layer-raster.js","sourceRoot":"","sources":["../../../src/api-utilities/get/layer-raster.ts"],"names":[],"mappings":"AAEA,MAAM,uBAAuB,GAAG,CAAC,EAAE,eAAe,EAAoB,EAAE,EAAE,CACtE,eAAe,CAAC,CAAC,CAAC,6BAA6B,eAAe,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AAE5E,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import { AreaProjectModel } from '../../generated';\n\nconst getApiObjectLayerRaster = ({ mapboxTilesetId }: AreaProjectModel) =>\n mapboxTilesetId ? `https://api.mapbox.com/v4/${mapboxTilesetId}` : null;\n\nexport { getApiObjectLayerRaster };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api-utilities/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC","sourcesContent":["export * from './api-utilities';\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"show-price.js","sourceRoot":"","sources":["../../src/api-utilities/show-price.ts"],"names":[],"mappings":"AAMA,MAAM,SAAS,GAAG,CAAC,EACf,kBAAkB,EAClB,iBAAiB,EACjB,YAAY,GAKf,EAAW,EAAE;IACV,MAAM,EAAE,MAAM,EAAE,GAAG,kBAAkB,IAAI,YAAY,IAAI,iBAAiB,IAAI,EAAE,CAAC;IAEjF,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,OAAO,CAAC,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC;AAEF,OAAO,EAAE,SAAS,EAAE,CAAC","sourcesContent":["import {\n ExtendedApartmentBuilding,\n ExtendedConstructionNumber,\n ExtendedPropertyType,\n} from './api-utilities.types';\n\nconst showPrice = ({\n constructionNumber,\n apartmentBuilding,\n propertyType,\n}: {\n constructionNumber?: ExtendedConstructionNumber;\n propertyType?: ExtendedPropertyType;\n apartmentBuilding?: ExtendedApartmentBuilding;\n}): boolean => {\n const { status } = constructionNumber || propertyType || apartmentBuilding || {};\n\n return ['Rented', 'Sold', 'UnderConstruction'].indexOf(status ?? '') === -1;\n};\n\nexport { showPrice };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/constants/index.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAC;AAC7C,MAAM,CAAC,MAAM,KAAK,GAAG,GAAG,aAAa,QAAQ,CAAC;AAC9C,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,aAAa,YAAY,CAAC;AACtD,MAAM,CAAC,MAAM,SAAS,GAAG,GAAG,aAAa,YAAY,CAAC","sourcesContent":["export const DESIGN_SYSTEM = 'Design System';\nexport const ATOMS = `${DESIGN_SYSTEM}|Atoms`;\nexport const MOLECULES = `${DESIGN_SYSTEM}|Molecules`;\nexport const ORGANISMS = `${DESIGN_SYSTEM}|Organisms`;\n"]}
|
|
File without changes
|
|
File without changes
|
package/dist/date.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date.js","sourceRoot":"","sources":["../src/date.ts"],"names":[],"mappings":"AAAA,MAAM,yBAAyB,GAAG,CAAC,KAAW,EAAE,KAAW,EAAU,EAAE;IACnE,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,SAAe,EAAE,WAAiB,EAAE,OAAa,EAAW,EAAE;IAChF,MAAM,cAAc,GAAG,WAAW,GAAG,SAAS,CAAC;IAC/C,MAAM,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;IAE5C,OAAO,cAAc,IAAI,aAAa,CAAC;AAC3C,CAAC,CAAC;AAEF,OAAO,EAAE,yBAAyB,EAAE,YAAY,EAAE,CAAC","sourcesContent":["const calculateDifferenceInDays = (date1: Date, date2: Date): number => {\n return Math.abs((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24));\n};\n\nconst betweenDates = (dateStart: Date, dateBetween: Date, dateEnd: Date): boolean => {\n const afterDateStart = dateBetween > dateStart;\n const beforeDateEnd = dateBetween < dateEnd;\n\n return afterDateStart && beforeDateEnd;\n};\n\nexport { calculateDifferenceInDays, betweenDates };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"debounce.js","sourceRoot":"","sources":["../src/debounce.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,QAAQ,CACpB,IAAO,EACP,gBAAgB,GAAG,EAAE,EACrB,UAA2B;IACvB,WAAW,EAAE,KAAK;CACrB;IAED,IAAI,SAAoD,CAAC;IAEzD,OAAO,UAAsC,GAAG,IAAmB;QAE/D,MAAM,OAAO,GAAG,IAAI,CAAC;QAErB,MAAM,OAAO,GAAG;YACZ,SAAS,GAAG,SAAS,CAAC;YACtB,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBACtB,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;aAC7B;QACL,CAAC,CAAC;QAEF,MAAM,aAAa,GAAG,OAAO,CAAC,WAAW,IAAI,SAAS,KAAK,SAAS,CAAC;QAErE,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,YAAY,CAAC,SAAS,CAAC,CAAC;SAC3B;QAED,SAAS,GAAG,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAElD,IAAI,aAAa,EAAE;YACf,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SAC7B;IACL,CAAC,CAAC;AACN,CAAC","sourcesContent":["/**\n * A function that emits a side effect and does not return anything.\n */\nexport type Procedure = (...args: any[]) => void;\n\nexport type DebounceOptions = {\n isImmediate: boolean;\n};\n\n/**\n * Debounce function\n */\nexport function debounce<F extends Procedure>(\n func: F,\n waitMilliseconds = 50,\n options: DebounceOptions = {\n isImmediate: false,\n },\n): (this: ThisParameterType<F>, ...args: Parameters<F>) => void {\n let timeoutId: ReturnType<typeof setTimeout> | undefined;\n\n return function (this: ThisParameterType<F>, ...args: Parameters<F>) {\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n const context = this;\n\n const doLater = function () {\n timeoutId = undefined;\n if (!options.isImmediate) {\n func.apply(context, args);\n }\n };\n\n const shouldCallNow = options.isImmediate && timeoutId === undefined;\n\n if (timeoutId !== undefined) {\n clearTimeout(timeoutId);\n }\n\n timeoutId = setTimeout(doLater, waitMilliseconds);\n\n if (shouldCallNow) {\n func.apply(context, args);\n }\n };\n}\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dom.js","sourceRoot":"","sources":["../../src/dom/dom.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,GAAG,QAAQ,CAAC,eAAe,CAAC;AACtC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;AAO3B,MAAM,CAAC,MAAM,QAAQ,GAAa;IAC9B,IAAI;IACJ,IAAI;CACP,CAAC","sourcesContent":["const html = document.documentElement;\nconst body = document.body;\n\ninterface Elements {\n body: HTMLElement;\n html: HTMLElement;\n}\n\nexport const elements: Elements = {\n html,\n body,\n};\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dom/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC","sourcesContent":["export * from './dom';\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.js","sourceRoot":"","sources":["../src/environment.ts"],"names":[],"mappings":"AAAA,MAAM,iBAAiB,GAAG,OAAO,CAAC;AAClC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAC5C,MAAM,sBAAsB,GAAG,YAAY,CAAC;AAE5C,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAC9C,MAAM,WAAW,GAAG,MAAM,CAAC,uBAAuB,CAAC,WAAW,CAAC;AAK/D,MAAM,WAAW;IACb,IAAI,GAAG;QACH,OAAO,WAAW,IAAI,mBAAmB,CAAC;IAC9C,CAAC;IAED,IAAI,OAAO;QACP,OAAO,IAAI,CAAC,GAAG,KAAK,iBAAiB,CAAC;IAC1C,CAAC;IAED,IAAI,MAAM;QACN,OAAO,IAAI,CAAC,GAAG,KAAK,gBAAgB,CAAC;IACzC,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,KAAK,sBAAsB,CAAC;IAC/C,CAAC;IAED,IAAI,YAAY;QACZ,OAAO,IAAI,CAAC,GAAG,KAAK,sBAAsB,CAAC;IAC/C,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,WAAW,GAAG,IAAI,WAAW,EAAE,CAAC","sourcesContent":["const ENVIRONMENT_LOCAL = 'local';\nconst ENVIRONMENT_TEST = 'test';\nconst ENVIRONMENT_ACCEPTANCE = 'acceptance';\nconst ENVIRONMENT_PRODUCTION = 'production';\n\nconst ENVIRONMENT_DEFAULT = ENVIRONMENT_LOCAL;\nconst ENVIRONMENT = window.__ENVIRONMENT_DETAILS__.environment;\n\n/**\n * Simple Object to check in which environment we are on based on the hostname\n */\nclass Environment {\n get get() {\n return ENVIRONMENT || ENVIRONMENT_DEFAULT;\n }\n\n get isLocal() {\n return this.get === ENVIRONMENT_LOCAL;\n }\n\n get isTest() {\n return this.get === ENVIRONMENT_TEST;\n }\n\n get isAcceptance() {\n return this.get === ENVIRONMENT_ACCEPTANCE;\n }\n\n get isProduction() {\n return this.get === ENVIRONMENT_PRODUCTION;\n }\n}\n\nexport const environment = new Environment();\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"excluded-properties.js","sourceRoot":"","sources":["../../src/extended-api-models/excluded-properties.ts"],"names":[],"mappings":"AAKA,MAAM,uCAAuC,GAAsC;IAC/E,kBAAkB;IAClB,iBAAiB;IACjB,WAAW;IACX,SAAS;IACT,cAAc;IACd,aAAa;IACb,QAAQ;IACR,cAAc;IACd,qBAAqB;IACrB,kBAAkB;CACrB,CAAC;AAKF,MAAM,iCAAiC,GAAgC;IACnE,kBAAkB;IAClB,iBAAiB;IACjB,kBAAkB;IAClB,aAAa;IACb,WAAW;IACX,uBAAuB;IACvB,wBAAwB;IACxB,oBAAoB;IACpB,QAAQ;IACR,SAAS;IACT,cAAc;IACd,WAAW;IACX,UAAU;IACV,WAAW;IACX,UAAU;CACb,CAAC;AAKF,MAAM,iCAAiC,GAAgC;IACnE,iBAAiB;IACjB,WAAW;CACd,CAAC;AAEF,OAAO,EACH,uCAAuC,EACvC,iCAAiC,EACjC,iCAAiC,GACpC,CAAC","sourcesContent":["import { ConstructionNumberModel, ProjectPhaseModel, PropertyTypeModel } from '@/generated';\n\n/*\n THE EXCLUDED VALUES ALSO NEED TO BE CHANGED IN api-utilitites.types.ts\n*/\nconst EXCLUDED_CONSTRUCTION_NUMBER_PROPERTIES: (keyof ConstructionNumberModel)[] = [\n 'shortDescription',\n 'longDescription',\n 'resources',\n 'gardens',\n 'outbuildings',\n 'groundLease',\n 'floors',\n 'outsideSpace',\n 'extraSpecifications',\n 'landRegistration',\n];\n\n/*\n THE EXCLUDED VALUES ALSO NEED TO BE CHANGED IN api-utilitites.types.ts\n*/\nconst EXCLUDED_PROPERTY_TYPE_PROPERTIES: (keyof PropertyTypeModel)[] = [\n 'shortDescription',\n 'longDescription',\n 'environmentTypes',\n 'groundLease',\n 'resources',\n 'constructionStartDate',\n 'indicationServiceCosts',\n 'indicationSecurity',\n 'floors',\n 'gardens',\n 'outbuildings',\n 'usp1Title',\n 'usp1Text',\n 'usp2Title',\n 'usp2Text',\n];\n\n/*\n THE EXCLUDED VALUES ALSO NEED TO BE CHANGED IN api-utilitites.types.ts\n*/\nconst EXCLUDED_PROJECT_PHASE_PROPERTIES: (keyof ProjectPhaseModel)[] = [\n 'longDescription',\n 'resources',\n];\n\nexport {\n EXCLUDED_CONSTRUCTION_NUMBER_PROPERTIES,\n EXCLUDED_PROPERTY_TYPE_PROPERTIES,\n EXCLUDED_PROJECT_PHASE_PROPERTIES,\n};\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-area-projects.js","sourceRoot":"","sources":["../../src/extended-api-models/extended-area-projects.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAMhD,MAAM,uBAAuB,GAAG,KAAK,IAAoC,EAAE;IACvE,MAAM,YAAY,GAAG,CAAC,MAAM,gBAAgB,EAAE,CAA0B,CAAC;IAEzE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE;QACjC,WAAW,CAAC,UAAU,GAAG,aAAa,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC","sourcesContent":["import { ExtendedAreaProject } from '../api-utilities';\nimport { areaProjectQuery } from '../generated';\n\n/**\n * @description Returns an array of all areaProjects extended.\n * @return {*} {Promise<ExtendedAreaProject[]>}\n */\nconst getExtendedAreaProjects = async (): Promise<ExtendedAreaProject[]> => {\n const areaProjects = (await areaProjectQuery()) as ExtendedAreaProject[];\n\n areaProjects.forEach((areaProject) => {\n areaProject.objectType = 'areaProject';\n });\n\n return areaProjects;\n};\n\nexport { getExtendedAreaProjects };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-area.js","sourceRoot":"","sources":["../../src/extended-api-models/extended-area.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n ExtendedApartmentBuilding,\n ExtendedAreaProject,\n ExtendedConstructionNumber,\n ExtendedDistrict,\n ExtendedProjectPhase,\n ExtendedPropertyType,\n filterConstructionNumbers,\n filterPropertyTypes,\n findProjectPhase,\n findPropertyType,\n getDistrictStatus,\n} from '../api-utilities';\nimport { composeExcludeString } from '../api-utilities/compose-exclude-string';\nimport {\n ApartmentBuildingModel,\n apartmentBuildingQuery,\n areaProjectGetById,\n AreaProjectModel,\n ConstructionNumberModel,\n constructionNumberQuery,\n DistrictModel,\n districtQuery,\n ProjectPhaseModel,\n projectPhaseQuery,\n PropertyTypeModel,\n propertyTypeQuery,\n} from '../generated';\nimport {\n EXCLUDED_CONSTRUCTION_NUMBER_PROPERTIES,\n EXCLUDED_PROJECT_PHASE_PROPERTIES,\n EXCLUDED_PROPERTY_TYPE_PROPERTIES,\n} from './excluded-properties';\nimport { getApartmentBuildingStatus } from './status/apartment-building-status';\nimport { constructionNumberStatus } from './status/construction-number-status';\nimport { getPropertyTypeStatus } from './status/property-type-status';\n\ninterface OriginalAreaModels {\n constructionNumbers: ConstructionNumberModel[];\n propertyTypes: PropertyTypeModel[];\n apartmentBuildings: ApartmentBuildingModel[];\n projectPhases: ProjectPhaseModel[];\n districts: DistrictModel[];\n areaProject: AreaProjectModel;\n}\n\ninterface ExtendedAreaModels {\n constructionNumbers: ExtendedConstructionNumber[];\n propertyTypes: ExtendedPropertyType[];\n apartmentBuildings: ExtendedApartmentBuilding[];\n projectPhases: ExtendedProjectPhase[];\n districts: ExtendedDistrict[];\n areaProject: ExtendedAreaProject;\n}\ninterface FilterFunctions {\n constructionNumber?: (constructionNumber: ConstructionNumberModel) => boolean;\n propertyType?: (propertyType: PropertyTypeModel) => boolean;\n apartmentBuilding?: (apartmentBuilding: ApartmentBuildingModel) => boolean;\n projectPhase?: (projectPhase: ProjectPhaseModel) => boolean;\n district?: (district: DistrictModel) => boolean;\n}\n\nconst ExtendedAreaModelsUtility = () => {\n const areaState: {\n [areaId: string]: {\n extendedData?: ExtendedAreaModels;\n resolveArray: Function[];\n filterFunctions?: FilterFunctions;\n };\n } = {};\n\n async function controller(areaId: string) {\n let originalData: OriginalAreaModels;\n\n if (hasSessionStorageData(areaId)) {\n originalData = fetchSessionStorageData(areaId)!;\n } else {\n originalData = await fetchData(areaId);\n setSessionStorageData(areaId, originalData);\n }\n\n // Objects without images, should not be shown on the website\n originalData = filterObjectsWithImages(originalData);\n\n areaState[areaId].extendedData = extendModels(originalData);\n\n setLoaded(areaId);\n }\n\n async function getData(areaId: string): Promise<ExtendedAreaModels> {\n if (!areaState[areaId]) {\n areaState[areaId] = {\n resolveArray: [],\n };\n\n // Controller handles fetching + extending of data\n controller(areaId);\n }\n\n const state = areaState[areaId];\n\n if (!state.extendedData) {\n /*\n if no extendedData is found, it means it's being fetched.\n Promises will be resolved after data is loaded\n */\n return new Promise((res) => {\n state.resolveArray.push(res);\n });\n } else {\n // if no extendedData is found, it comes from sessionStorage\n return state.extendedData;\n }\n }\n\n function setLoaded(areaId: string) {\n areaState[areaId].resolveArray.forEach((res) => {\n res(areaState[areaId].extendedData);\n });\n }\n\n function filterObjectsWithImages(data: OriginalAreaModels): OriginalAreaModels {\n return {\n ...data,\n constructionNumbers: data.constructionNumbers.filter(\n ({ mainImage }) => !!mainImage?.url,\n ),\n propertyTypes: data.propertyTypes.filter(({ mainImage }) => !!mainImage?.url),\n apartmentBuildings: data.apartmentBuildings.filter(({ image }) => !!image?.url),\n };\n }\n\n function sessionStorageId(areaId: string) {\n return `AreaObjects::${areaId}`;\n }\n\n function sessionStorageData(areaId: string) {\n return sessionStorage.getItem(sessionStorageId(areaId));\n }\n\n function hasSessionStorageData(areaId: string) {\n return !!sessionStorageData(areaId);\n }\n\n function fetchSessionStorageData(areaId: string) {\n if (hasSessionStorageData(areaId)) {\n return JSON.parse(sessionStorageData(areaId)!) as OriginalAreaModels;\n } else {\n return;\n }\n }\n\n function setSessionStorageData(areaId: string, originalData: OriginalAreaModels) {\n sessionStorage.setItem(sessionStorageId(areaId), JSON.stringify(originalData));\n }\n\n async function fetchData(areaId: string) {\n const propertyTypes = propertyTypeQuery({\n AreaProjectId: areaId,\n exclude: composeExcludeString(EXCLUDED_PROPERTY_TYPE_PROPERTIES),\n });\n const constructionNumbers = constructionNumberQuery({\n AreaProjectId: areaId,\n exclude: composeExcludeString(EXCLUDED_CONSTRUCTION_NUMBER_PROPERTIES),\n });\n const projectPhases = projectPhaseQuery({\n AreaProjectId: areaId,\n exclude: composeExcludeString(EXCLUDED_PROJECT_PHASE_PROPERTIES),\n });\n const apartmentBuildings = apartmentBuildingQuery({\n AreaProjectId: areaId,\n });\n const districts = districtQuery({\n AreaProjectId: areaId,\n });\n const areaProject = areaProjectGetById(areaId);\n\n return {\n propertyTypes: await propertyTypes,\n constructionNumbers: await constructionNumbers,\n projectPhases: await projectPhases,\n apartmentBuildings: await apartmentBuildings,\n districts: await districts,\n areaProject: await areaProject,\n };\n }\n\n function extendModels(data: OriginalAreaModels): ExtendedAreaModels {\n const {\n constructionNumbers,\n propertyTypes,\n apartmentBuildings,\n projectPhases,\n districts,\n areaProject,\n } = data as ExtendedAreaModels;\n\n /*\n Extend constructionNumbers object\n */\n constructionNumbers.forEach((constructionNumber) => {\n const { propertyTypeId, projectPhaseId } = constructionNumber;\n\n constructionNumber.areaProject = areaProject;\n\n if (propertyTypeId) {\n constructionNumber.propertyType = findPropertyType(propertyTypes, {\n id: propertyTypeId,\n });\n }\n\n if (projectPhaseId) {\n constructionNumber.projectPhase = findProjectPhase(projectPhases, {\n id: projectPhaseId,\n });\n }\n\n constructionNumber.apartmentBuilding = apartmentBuildings.find((s) =>\n s.constructionNumberIds?.includes(constructionNumber.id),\n );\n\n constructionNumber.status = constructionNumberStatus(constructionNumber);\n\n constructionNumber.objectType = 'constructionNumber';\n });\n\n /*\n Extend propertTypes object\n */\n propertyTypes.forEach((propertyType) => {\n const { projectPhaseId, id } = propertyType;\n\n if (projectPhaseId) {\n propertyType.projectPhase = findProjectPhase(projectPhases, {\n id: projectPhaseId,\n });\n }\n\n propertyType.constructionNumbers = filterConstructionNumbers(constructionNumbers, {\n propertyTypeId: id,\n });\n\n if (propertyType.projectPhase) {\n propertyType.status = getPropertyTypeStatus(\n propertyType.projectPhase,\n propertyType.constructionNumbers,\n );\n }\n\n propertyType.apartmentBuildings = apartmentBuildings.filter((s) =>\n s.propertyTypeIds?.includes(propertyType.id),\n );\n\n propertyType.objectType = 'propertyType';\n });\n\n /*\n Extend projectPhase object\n */\n projectPhases.forEach((projectPhase) => {\n const { id } = projectPhase;\n\n projectPhase.propertyTypes = filterPropertyTypes(propertyTypes, {\n projectPhaseId: id,\n });\n projectPhase.constructionNumbers = filterConstructionNumbers(constructionNumbers, {\n projectPhaseId: id,\n });\n\n projectPhase.objectType = 'projectPhase';\n });\n\n /*\n Extend apartmentBuilding object\n */\n apartmentBuildings.forEach((apartmentBuilding) => {\n const { propertyTypeIds, constructionNumberIds, projectPhaseId } = apartmentBuilding;\n\n if (propertyTypeIds) {\n apartmentBuilding.propertyTypes = propertyTypes.filter(({ id }) =>\n propertyTypeIds?.includes(id),\n );\n }\n\n if (constructionNumberIds) {\n apartmentBuilding.constructionNumbers = constructionNumbers.filter(({ id }) =>\n constructionNumberIds?.includes(id),\n );\n }\n\n if (projectPhaseId) {\n apartmentBuilding.projectPhase = findProjectPhase(projectPhases, {\n id: projectPhaseId,\n });\n }\n\n if (apartmentBuilding.projectPhase) {\n apartmentBuilding.status = getApartmentBuildingStatus(\n apartmentBuilding.projectPhase,\n apartmentBuilding.constructionNumbers,\n );\n }\n\n apartmentBuilding.objectType = 'apartmentBuilding';\n });\n\n /*\n Extend district object\n */\n districts.forEach((district) => {\n district.status = getDistrictStatus(district, projectPhases);\n district.objectType = 'district';\n });\n\n return {\n constructionNumbers,\n propertyTypes,\n apartmentBuildings,\n projectPhases,\n districts,\n areaProject,\n };\n }\n\n return {\n getData,\n };\n};\n\nconst extendedArea = ExtendedAreaModelsUtility();\n\nexport { extendedArea, ExtendedAreaModels };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extended-api-models/index.ts"],"names":[],"mappings":"AAAA,cAAc,wCAAwC,CAAC;AACvD,cAAc,qCAAqC,CAAC;AACpD,cAAc,0BAA0B,CAAC;AACzC,cAAc,kCAAkC,CAAC;AAEjD,cAAc,iBAAiB,CAAC;AAChC,cAAc,0BAA0B,CAAC","sourcesContent":["export * from './utilities/extended-model-price-range';\nexport * from './utilities/apartment-building-view';\nexport * from './utilities/is-apartment';\nexport * from './utilities/find-extended-object';\n\nexport * from './extended-area';\nexport * from './extended-area-projects';\n"]}
|
package/dist/{types/extended-api-models → extended-api-models}/status/apartment-building-status.d.ts
RENAMED
|
File without changes
|
package/dist/{lib/extended-api-models → extended-api-models}/status/apartment-building-status.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apartment-building-status.js","sourceRoot":"","sources":["../../../src/extended-api-models/status/apartment-building-status.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,0BAA0B,GAAG,CAC/B,YAAkC,EAClC,mBAAkD,EACf,EAAE;IACrC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAE5F,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,mBAAmB,CAAC;IAC/D,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAEtD,IAAI,EAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,CAAA;QAAE,OAAO,sBAAsB,EAAE,CAAC;IAElE,QAAQ,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,eAAe;YAChB,OAAO,sBAAsB,EAAE,CAAC;QACpC,KAAK,SAAS;YACV,OAAO,SAAS,CAAC;QACrB,KAAK,QAAQ;YACT,OAAO,eAAe,EAAE,CAAC;QAC7B;YACI,OAAO;KACd;IAED,SAAS,sBAAsB;QAC3B,IAAI,YAAY,CAAC,QAAQ;YAAE,OAAO,eAAe,CAAC;QAElD,IAAI,aAAa,EAAE;YACf,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAE/E,IAAI,gBAAgB,IAAI,EAAE;gBAAE,OAAO,UAAU,CAAC;SACjD;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,SAAS,eAAe;QACpB,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc;YAAE,OAAO;QAE9D,MAAM,0BAA0B,GAAG,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACzF,MAAM,6BAA6B,GAAG,YAAY,CAC9C,aAAa,EACb,WAAW,EACX,cAAc,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,WAAW,IAAI,cAAc,CAAC;QAEtD,IAAI,0BAA0B;YAAE,OAAO,aAAa,CAAC;QAErD,IAAI,6BAA6B;YAAE,OAAO,aAAa,CAAC;QAExD,IAAI,eAAe,EAAE;YACjB,MAAM,2BAA2B,GAAG,mBAAoB,CAAC,GAAG,CACxD,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,kBAAkB,CACjD,CAAC;YACF,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,MAAM,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAC3B,CAAC;YACF,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,MAAM,CAClE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAC1B,CAAC;YAEF,IAAI,4BAA4B,CAAC,MAAM;gBAAE,OAAO,iBAAiB,CAAC;YAElE,IAAI,2BAA2B,CAAC,MAAM;gBAAE,OAAO,UAAU,CAAC;YAE1D,IAAI,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,MAAM,CAAC;SACvE;QAED,OAAO;IACX,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC","sourcesContent":["import {\n ApartmentBuildingStatus,\n ExtendedConstructionNumber,\n ExtendedProjectPhase,\n} from '../../api-utilities/api-utilities.types';\nimport { betweenDates, calculateDifferenceInDays } from '../../date';\n\nconst getApartmentBuildingStatus = (\n projectPhase: ExtendedProjectPhase,\n constructionNumbers?: ExtendedConstructionNumber[],\n): ApartmentBuildingStatus | undefined => {\n const currentDate = new Date();\n const saleStartDate = projectPhase.saleStartDate && new Date(projectPhase.saleStartDate);\n const saleEndDate = projectPhase.saleEndDate && new Date(projectPhase.saleEndDate);\n const allocationDate = projectPhase.allocationDate && new Date(projectPhase.allocationDate);\n\n if (projectPhase.status === 'Sold') return 'UnderConstruction';\n if (projectPhase.status === 'Rented') return 'Rented';\n\n if (!constructionNumbers?.length) return getInPreparationStatus();\n\n switch (projectPhase.status) {\n case 'InPreparation':\n return getInPreparationStatus();\n case 'ForRent':\n return 'ForRent';\n case 'OnSale':\n return getOnSaleStatus();\n default:\n return;\n }\n\n function getInPreparationStatus(): ApartmentBuildingStatus {\n if (projectPhase.isRental) return 'InPreparation';\n\n if (saleStartDate) {\n const differenceInDays = calculateDifferenceInDays(saleStartDate, currentDate);\n\n if (differenceInDays <= 30) return 'SaleSoon';\n }\n\n return 'InPreparation';\n }\n\n function getOnSaleStatus(): ApartmentBuildingStatus | undefined {\n if (!saleStartDate || !saleEndDate || !allocationDate) return;\n\n const betweenSaleStartAndSaleEnd = betweenDates(saleStartDate, currentDate, saleEndDate);\n const betweenSaleStartAndAllocation = betweenDates(\n saleStartDate,\n currentDate,\n allocationDate,\n );\n const afterAllocation = currentDate >= allocationDate;\n\n if (betweenSaleStartAndSaleEnd) return 'SaleStarted';\n\n if (betweenSaleStartAndAllocation) return 'AssigningOn';\n\n if (afterAllocation) {\n const constructionNumberStatusses = constructionNumbers!.map(\n ({ availabilityStatus }) => availabilityStatus,\n );\n const constructionNumbersAvailable = constructionNumberStatusses.filter(\n (s) => s === 'Available',\n );\n const constructionNumbersInOption = constructionNumberStatusses.filter(\n (s) => s === 'InOption',\n );\n\n if (constructionNumbersAvailable.length) return 'AmountAvailable';\n\n if (constructionNumbersInOption.length) return 'InOption';\n\n if (constructionNumberStatusses.indexOf('Sold') > -1) return 'Sold';\n }\n\n return;\n }\n};\n\nexport { getApartmentBuildingStatus };\n"]}
|
|
File without changes
|
package/dist/{lib/extended-api-models → extended-api-models}/status/construction-number-status.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"construction-number-status.js","sourceRoot":"","sources":["../../../src/extended-api-models/status/construction-number-status.ts"],"names":[],"mappings":"AAKA,MAAM,wBAAwB,GAAG,CAC7B,kBAA8C,EACD,EAAE;IAC/C,MAAM,EAAE,YAAY,EAAE,kBAAkB,EAAE,GAAG,kBAAkB,CAAC;IAEhE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,YAAY,IAAI,EAAE,CAAC;IAEpE,IAAI,kBAAkB,KAAK,eAAe;QAAE,OAAO,eAAe,CAAC;IACnE,IAAI,kBAAkB,KAAK,MAAM;QAAE,OAAO,mBAAmB,CAAC;IAE9D,QAAQ,kBAAkB,EAAE;QACxB,KAAK,UAAU;YACX,OAAO,UAAU,CAAC;QACtB,KAAK,WAAW;YACZ,OAAO,WAAW,CAAC;QACvB,KAAK,MAAM;YACP,OAAO,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;KAC3C;IAED,OAAO;AACX,CAAC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,CAAC","sourcesContent":["import {\n ExtendedConstructionNumber,\n GeneratedConstructionNumberStatus,\n} from '../../api-utilities/api-utilities.types';\n\nconst constructionNumberStatus = (\n constructionNumber: ExtendedConstructionNumber,\n): GeneratedConstructionNumberStatus | undefined => {\n const { projectPhase, availabilityStatus } = constructionNumber;\n\n const { isRental, status: projectPhaseStatus } = projectPhase || {};\n\n if (projectPhaseStatus === 'InPreparation') return 'InPreparation';\n if (projectPhaseStatus === 'Sold') return 'UnderConstruction';\n\n switch (availabilityStatus) {\n case 'InOption':\n return 'InOption';\n case 'Available':\n return 'Available';\n case 'Sold':\n return isRental ? 'Rented' : 'Sold';\n }\n\n return;\n};\n\nexport { constructionNumberStatus };\n"]}
|
package/dist/{types/extended-api-models → extended-api-models}/status/property-type-status.d.ts
RENAMED
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"property-type-status.js","sourceRoot":"","sources":["../../../src/extended-api-models/status/property-type-status.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAC;AAGrE,MAAM,qBAAqB,GAAG,CAC1B,YAA+B,EAC/B,mBAA+C,EACjB,EAAE;IAChC,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC;IAC/B,MAAM,aAAa,GAAG,YAAY,CAAC,aAAa,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IACzF,MAAM,WAAW,GAAG,YAAY,CAAC,WAAW,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;IACnF,MAAM,cAAc,GAAG,YAAY,CAAC,cAAc,IAAI,IAAI,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;IAE5F,IAAI,YAAY,CAAC,MAAM,KAAK,MAAM;QAAE,OAAO,mBAAmB,CAAC;IAC/D,IAAI,YAAY,CAAC,MAAM,KAAK,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAEtD,IAAI,EAAC,mBAAmB,aAAnB,mBAAmB,uBAAnB,mBAAmB,CAAE,MAAM,CAAA;QAAE,OAAO,sBAAsB,EAAE,CAAC;IAElE,QAAQ,YAAY,CAAC,MAAM,EAAE;QACzB,KAAK,eAAe;YAChB,OAAO,sBAAsB,EAAE,CAAC;QACpC,KAAK,SAAS;YACV,OAAO,SAAS,CAAC;QACrB,KAAK,QAAQ;YACT,OAAO,eAAe,EAAE,CAAC;QAC7B;YACI,OAAO;KACd;IAED,SAAS,sBAAsB;QAC3B,IAAI,YAAY,CAAC,QAAQ;YAAE,OAAO,eAAe,CAAC;QAElD,IAAI,aAAa,EAAE;YACf,MAAM,gBAAgB,GAAG,yBAAyB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAE/E,IAAI,gBAAgB,IAAI,EAAE;gBAAE,OAAO,UAAU,CAAC;SACjD;QAED,OAAO,eAAe,CAAC;IAC3B,CAAC;IAED,SAAS,eAAe;QACpB,IAAI,CAAC,aAAa,IAAI,CAAC,WAAW,IAAI,CAAC,cAAc;YAAE,OAAO;QAE9D,MAAM,0BAA0B,GAAG,YAAY,CAAC,aAAa,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;QACzF,MAAM,6BAA6B,GAAG,YAAY,CAC9C,aAAa,EACb,WAAW,EACX,cAAc,CACjB,CAAC;QACF,MAAM,eAAe,GAAG,WAAW,IAAI,cAAc,CAAC;QAEtD,IAAI,0BAA0B;YAAE,OAAO,aAAa,CAAC;QAErD,IAAI,6BAA6B;YAAE,OAAO,aAAa,CAAC;QAExD,IAAI,eAAe,EAAE;YACjB,MAAM,2BAA2B,GAAG,mBAAoB,CAAC,GAAG,CACxD,CAAC,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,kBAAkB,CACjD,CAAC;YACF,MAAM,4BAA4B,GAAG,2BAA2B,CAAC,MAAM,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,WAAW,CAC3B,CAAC;YACF,MAAM,2BAA2B,GAAG,2BAA2B,CAAC,MAAM,CAClE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,UAAU,CAC1B,CAAC;YAEF,IAAI,4BAA4B,CAAC,MAAM;gBAAE,OAAO,iBAAiB,CAAC;YAElE,IAAI,2BAA2B,CAAC,MAAM;gBAAE,OAAO,UAAU,CAAC;YAE1D,IAAI,2BAA2B,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAAE,OAAO,MAAM,CAAC;SACvE;QAED,OAAO;IACX,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EAAE,qBAAqB,EAAE,CAAC","sourcesContent":["import { PropertyTypeStatus } from '../../api-utilities/api-utilities.types';\nimport { betweenDates, calculateDifferenceInDays } from '../../date';\nimport { ConstructionNumberModel, ProjectPhaseModel } from '../../generated';\n\nconst getPropertyTypeStatus = (\n projectPhase: ProjectPhaseModel,\n constructionNumbers?: ConstructionNumberModel[],\n): PropertyTypeStatus | undefined => {\n const currentDate = new Date();\n const saleStartDate = projectPhase.saleStartDate && new Date(projectPhase.saleStartDate);\n const saleEndDate = projectPhase.saleEndDate && new Date(projectPhase.saleEndDate);\n const allocationDate = projectPhase.allocationDate && new Date(projectPhase.allocationDate);\n\n if (projectPhase.status === 'Sold') return 'UnderConstruction';\n if (projectPhase.status === 'Rented') return 'Rented';\n\n if (!constructionNumbers?.length) return getInPreparationStatus();\n\n switch (projectPhase.status) {\n case 'InPreparation':\n return getInPreparationStatus();\n case 'ForRent':\n return 'ForRent';\n case 'OnSale':\n return getOnSaleStatus();\n default:\n return;\n }\n\n function getInPreparationStatus(): PropertyTypeStatus {\n if (projectPhase.isRental) return 'InPreparation';\n\n if (saleStartDate) {\n const differenceInDays = calculateDifferenceInDays(saleStartDate, currentDate);\n\n if (differenceInDays <= 30) return 'SaleSoon';\n }\n\n return 'InPreparation';\n }\n\n function getOnSaleStatus(): PropertyTypeStatus | undefined {\n if (!saleStartDate || !saleEndDate || !allocationDate) return;\n\n const betweenSaleStartAndSaleEnd = betweenDates(saleStartDate, currentDate, saleEndDate);\n const betweenSaleStartAndAllocation = betweenDates(\n saleStartDate,\n currentDate,\n allocationDate,\n );\n const afterAllocation = currentDate >= allocationDate;\n\n if (betweenSaleStartAndSaleEnd) return 'SaleStarted';\n\n if (betweenSaleStartAndAllocation) return 'AssigningOn';\n\n if (afterAllocation) {\n const constructionNumberStatusses = constructionNumbers!.map(\n ({ availabilityStatus }) => availabilityStatus,\n );\n const constructionNumbersAvailable = constructionNumberStatusses.filter(\n (s) => s === 'Available',\n );\n const constructionNumbersInOption = constructionNumberStatusses.filter(\n (s) => s === 'InOption',\n );\n\n if (constructionNumbersAvailable.length) return 'AmountAvailable';\n\n if (constructionNumbersInOption.length) return 'InOption';\n\n if (constructionNumberStatusses.indexOf('Sold') > -1) return 'Sold';\n }\n\n return;\n }\n};\n\nexport { getPropertyTypeStatus };\n"]}
|
|
File without changes
|
package/dist/{lib/extended-api-models → extended-api-models}/utilities/apartment-building-view.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apartment-building-view.js","sourceRoot":"","sources":["../../../src/extended-api-models/utilities/apartment-building-view.ts"],"names":[],"mappings":"AAEA,MAAM,wBAAwB,GAAG,CAAC,kBAA8C,EAAE,EAAE,kCAChF,kBAAkB,CAAC,iBAAiB,0CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,wBACpD,CAAC,CAAC,QAAQ,0CAAE,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,KAAK,kBAAkB,CAAC,EAAE,IAAC,IAC5E,CAAC;AAEN,MAAM,4BAA4B,GAAG,CAAC,kBAA8C,EAAE,EAAU,EAAE,EAAE,kCAChG,kBAAkB,CAAC,iBAAiB,0CAAE,KAAK,0CAAE,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAC,CAAC;AAEhF,OAAO,EAAE,wBAAwB,EAAE,4BAA4B,EAAE,CAAC","sourcesContent":["import { ExtendedConstructionNumber } from '../../api-utilities/api-utilities.types';\n\nconst getApartmentBuildingView = (constructionNumber: ExtendedConstructionNumber) =>\n constructionNumber.apartmentBuilding?.views?.find((s) =>\n s.pointers?.find((s) => s.constructionNumberId === constructionNumber.id),\n );\n\nconst getApartmentBuildingViewById = (constructionNumber: ExtendedConstructionNumber, id: string) =>\n constructionNumber.apartmentBuilding?.views?.find((view) => view.id === id);\n\nexport { getApartmentBuildingView, getApartmentBuildingViewById };\n"]}
|
|
File without changes
|
package/dist/{lib/extended-api-models → extended-api-models}/utilities/extended-model-price-range.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extended-model-price-range.js","sourceRoot":"","sources":["../../../src/extended-api-models/utilities/extended-model-price-range.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uDAAuD,CAAC;AAG1F,MAAM,0BAA0B,GAAG,CAC/B,IAAsD,EAC9B,EAAE;IAC1B,MAAM,EAAE,mBAAmB,EAAE,GAAG,IAAI,CAAC;IACrC,IAAI,KAAmB,CAAC;IAExB,IAAI,CAAC,mBAAmB,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE;QACrD,IAAI,CAAC,CAAC,eAAe,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;YAAE,OAAO;QAE5F,KAAK,GAAG,IAAI,CAAC,aAAa;aACrB,MAAM,CACH,CAAC,YAAY,EAAE,EAAE,CACb,YAAY,CAAC,MAAM,KAAK,MAAM,IAAI,YAAY,CAAC,MAAM,KAAK,mBAAmB,CACpF;aACA,MAAM,CAAe,CAAC,KAAK,EAAE,YAAY,EAAE,EAAE;YAC1C,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC;YAGjD,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB;gBACjE,OAAO,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,UAAU,CAAC,SAAS,KAAK,gBAAgB;gBAC/D,OAAO,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAEvD,OAAO,KAAK,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;KACd;SAAM;QACH,KAAK,GAAG,mBAAmB;aACtB,MAAM,CACH,CAAC,kBAAkB,EAAE,EAAE,CACnB,kBAAkB,CAAC,MAAM,KAAK,MAAM;YACpC,kBAAkB,CAAC,MAAM,KAAK,mBAAmB,CACxD;aACA,MAAM,CAAe,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE;YAChD,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,kBAAkB,CAAC;YAGvD,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,KAAI,WAAW,CAAC,SAAS,KAAK,gBAAgB;gBACjE,OAAO,iBAAiB,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;YACxD,IAAI,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,MAAM,KAAI,UAAU,CAAC,SAAS,KAAK,gBAAgB;gBAC/D,OAAO,iBAAiB,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC;YAEvD,OAAO,KAAK,CAAC;QACjB,CAAC,EAAE,EAAE,CAAC,CAAC;KACd;IAED,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AAEF,OAAO,EAAE,0BAA0B,EAAE,CAAC","sourcesContent":["import {\n ExtendedApartmentBuilding,\n ExtendedPropertyType,\n} from '../../api-utilities/api-utilities.types';\nimport { mergeDecimalRange } from '../../api-utilities/decimal-range/merge-decimal-range';\nimport { DecimalRange } from '../../generated';\n\nconst getExtendedModelPriceRange = (\n item: ExtendedApartmentBuilding | ExtendedPropertyType,\n): DecimalRange | undefined => {\n const { constructionNumbers } = item;\n let range: DecimalRange;\n\n if (!constructionNumbers || !constructionNumbers.length) {\n if (!('propertyTypes' in item) || !item.propertyTypes || !item.propertyTypes.length) return;\n\n range = item.propertyTypes\n .filter(\n (propertyType) =>\n propertyType.status !== 'Sold' && propertyType.status !== 'UnderConstruction',\n )\n .reduce<DecimalRange>((range, propertyType) => {\n const { rentalPrice, salesPrice } = propertyType;\n\n // Do not include PriceOnRequest price types\n if (rentalPrice?.amount && rentalPrice.priceType !== 'PriceOnRequest')\n return mergeDecimalRange(range, rentalPrice.amount);\n if (salesPrice?.amount && salesPrice.priceType !== 'PriceOnRequest')\n return mergeDecimalRange(range, salesPrice.amount);\n\n return range;\n }, {});\n } else {\n range = constructionNumbers\n .filter(\n (constructionNumber) =>\n constructionNumber.status !== 'Sold' &&\n constructionNumber.status !== 'UnderConstruction',\n )\n .reduce<DecimalRange>((range, constructionNumber) => {\n const { rentalPrice, salesPrice } = constructionNumber;\n\n // Do not include PriceOnRequest price types\n if (rentalPrice?.amount && rentalPrice.priceType !== 'PriceOnRequest')\n return mergeDecimalRange(range, rentalPrice.amount);\n if (salesPrice?.amount && salesPrice.priceType !== 'PriceOnRequest')\n return mergeDecimalRange(range, salesPrice.amount);\n\n return range;\n }, {});\n }\n\n return range;\n};\n\nexport { getExtendedModelPriceRange };\n"]}
|
package/dist/{types/extended-api-models → extended-api-models}/utilities/find-extended-object.d.ts
RENAMED
|
File without changes
|
package/dist/{lib/extended-api-models → extended-api-models}/utilities/find-extended-object.js
RENAMED
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"find-extended-object.js","sourceRoot":"","sources":["../../../src/extended-api-models/utilities/find-extended-object.ts"],"names":[],"mappings":"AAAA,OAAO,EAMH,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,gBAAgB,GACnB,MAAM,qBAAqB,CAAC;AAe7B,MAAM,sBAAsB,GAAG,CAC3B,EACI,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,aAAa,EACb,SAAS,GACQ,EACrB,EAAU,EAQE,EAAE;IACd,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,mBAAmB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/E,IAAI,kBAAkB;QAAE,OAAO,kBAAkB,CAAC;IAElD,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,iBAAiB,GAAG,qBAAqB,CAAC,kBAAkB,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,IAAI,iBAAiB;QAAE,OAAO,iBAAiB,CAAC;IAEhD,MAAM,YAAY,GAAG,gBAAgB,CAAC,aAAa,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,IAAI,YAAY;QAAE,OAAO,YAAY,CAAC;IAEtC,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;IAClE,IAAI,QAAQ;QAAE,OAAO,QAAQ,CAAC;IAE9B,OAAO;AACX,CAAC,CAAC;AAEF,OAAO,EAAE,sBAAsB,EAAE,CAAC","sourcesContent":["import {\n ExtendedApartmentBuilding,\n ExtendedConstructionNumber,\n ExtendedDistrict,\n ExtendedProjectPhase,\n ExtendedPropertyType,\n findApartmentBuilding,\n findConstructionNumber,\n findProjectPhase,\n findPropertyType,\n} from '../../api-utilities';\nimport { ExtendedAreaModels } from '../extended-area';\n\n/**\n * @description Finds and returns the extended API Object with the set id.\n * @param {ExtendedAreaModels} { constructionNumbers, propertyTypes, apartmentBuildings, projectPhases }\n * @param {string} id\n * @return {*} {(ExtendedConstructionNumber\n * | ExtendedPropertyType\n * | ExtendedApartmentBuilding\n * | ExtendedProjectPhase\n * | ExtendedProjectPhase\n * | ExtendedDistrict\n * | undefined)}\n */\nconst findExtendedObjectById = (\n {\n constructionNumbers,\n propertyTypes,\n apartmentBuildings,\n projectPhases,\n districts,\n }: ExtendedAreaModels,\n id: string,\n):\n | ExtendedConstructionNumber\n | ExtendedPropertyType\n | ExtendedApartmentBuilding\n | ExtendedProjectPhase\n | ExtendedProjectPhase\n | ExtendedDistrict\n | undefined => {\n const constructionNumber = findConstructionNumber(constructionNumbers, { id });\n if (constructionNumber) return constructionNumber;\n\n const propertyType = findPropertyType(propertyTypes, { id });\n if (propertyType) return propertyType;\n\n const apartmentBuilding = findApartmentBuilding(apartmentBuildings, { id });\n if (apartmentBuilding) return apartmentBuilding;\n\n const projectPhase = findProjectPhase(projectPhases, { id });\n if (projectPhase) return projectPhase;\n\n const district = districts.find((district) => district.id === id);\n if (district) return district;\n\n return;\n};\n\nexport { findExtendedObjectById };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-apartment.js","sourceRoot":"","sources":["../../../src/extended-api-models/utilities/is-apartment.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,GAAgB,CAAC,EAC9B,kBAAkB,EAClB,YAAY,GAIf,EAAW,EAAE;;IACV,IAAI,SAAoC,CAAC;IAEzC,IAAI,YAAY,EAAE;QACd,SAAS,GAAG,YAAY,CAAC,SAAS,CAAC;KACtC;IAED,IAAI,kBAAkB,EAAE;QACpB,SAAS,SAAG,kBAAkB,CAAC,YAAY,0CAAE,SAAS,CAAC;KAC1D;IAED,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC","sourcesContent":["import {\n ExtendedConstructionNumber,\n ExtendedPropertyType,\n} from '../../api-utilities/api-utilities.types';\n\ninterface IsApartment {\n (obj: { constructionNumber: ExtendedConstructionNumber }): boolean;\n (obj: { propertyType: ExtendedPropertyType }): boolean;\n}\n\nconst isApartment: IsApartment = ({\n constructionNumber,\n propertyType,\n}: {\n constructionNumber?: ExtendedConstructionNumber;\n propertyType?: ExtendedPropertyType;\n}): boolean => {\n let houseType: string | undefined | null;\n\n if (propertyType) {\n houseType = propertyType.houseType;\n }\n\n if (constructionNumber) {\n houseType = constructionNumber.propertyType?.houseType;\n }\n\n return ['Appartement', 'Loft', 'Maisonette', 'Studio'].includes(houseType || '');\n};\n\nexport { isApartment };\n"]}
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"function-is-true.js","sourceRoot":"","sources":["../src/function-is-true.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,EAAY,EAAE,EAAE;IAC3C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC3B,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,EAAE;YAC9B,IAAI,EAAE,EAAE,EAAE;gBACN,aAAa,CAAC,QAAQ,CAAC,CAAC;gBACxB,OAAO,EAAE,CAAC;aACb;QACL,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,CAAC,CAAC,CAAC;AACP,CAAC,CAAC","sourcesContent":["export const functionIsTrue = (fn: Function) => {\n return new Promise((resolve) => {\n const interval = setInterval(() => {\n if (fn()) {\n clearInterval(interval);\n resolve();\n }\n }, 50);\n });\n};\n"]}
|
|
File without changes
|
|
File without changes
|