@dartcom/ui-kit 10.6.1 → 10.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +127 -85
- package/dist/index.esm.js +1 -1
- package/dist/services/collection/collection.service.d.ts +35 -60
- package/dist/services/collection/collection.service.d.ts.map +1 -1
- package/dist/services/collection/collection.service.esm.js +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/scalar-id/index.d.ts +2 -0
- package/dist/services/scalar-id/index.d.ts.map +1 -0
- package/dist/services/scalar-id/scalar-id.constants.d.ts +2 -0
- package/dist/services/scalar-id/scalar-id.constants.d.ts.map +1 -0
- package/dist/services/scalar-id/scalar-id.constants.esm.js +1 -0
- package/dist/services/scalar-id/scalar-id.service.d.ts +49 -0
- package/dist/services/scalar-id/scalar-id.service.d.ts.map +1 -0
- package/dist/services/scalar-id/scalar-id.service.esm.js +1 -0
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -5661,6 +5661,66 @@ class ApiService {
|
|
|
5661
5661
|
}
|
|
5662
5662
|
}
|
|
5663
5663
|
|
|
5664
|
+
const defaultId = null;
|
|
5665
|
+
|
|
5666
|
+
/**
|
|
5667
|
+
* ScalarIdService<Id>
|
|
5668
|
+
*
|
|
5669
|
+
* Небольшой сервис для хранения одного "текущего" идентификатора.
|
|
5670
|
+
* Подходит для:
|
|
5671
|
+
* - последнего обновлённого элемента (updatedId);
|
|
5672
|
+
* - последнего удалённого элемента (deletedId);
|
|
5673
|
+
* - текущего выделенного элемента (selectedId), если нужен один.
|
|
5674
|
+
*
|
|
5675
|
+
* Возможности:
|
|
5676
|
+
* - value: текущее значение или null;
|
|
5677
|
+
* - isSet: флаг, установлен ли id;
|
|
5678
|
+
* - set / reset: явное управление значением.
|
|
5679
|
+
*
|
|
5680
|
+
* Пример:
|
|
5681
|
+
* const updated = new ScalarIdService<string>();
|
|
5682
|
+
* updated.set('42');
|
|
5683
|
+
* updated.isSet; // true
|
|
5684
|
+
* updated.value; // '42'
|
|
5685
|
+
* updated.reset();
|
|
5686
|
+
*/
|
|
5687
|
+
class ScalarIdService {
|
|
5688
|
+
/**
|
|
5689
|
+
* Внутреннее хранилище идентификатора.
|
|
5690
|
+
* null означает "ничего не выбрано / не установлено".
|
|
5691
|
+
*/
|
|
5692
|
+
_value = defaultId;
|
|
5693
|
+
constructor() {
|
|
5694
|
+
makeAutoObservable(this, {}, { autoBind: true });
|
|
5695
|
+
}
|
|
5696
|
+
/**
|
|
5697
|
+
* Текущее значение id или null, если значение не установлено.
|
|
5698
|
+
*/
|
|
5699
|
+
get value() {
|
|
5700
|
+
return this._value;
|
|
5701
|
+
}
|
|
5702
|
+
/**
|
|
5703
|
+
* Установить новое значение id.
|
|
5704
|
+
*
|
|
5705
|
+
* @param value Новое значение или null для сброса.
|
|
5706
|
+
*/
|
|
5707
|
+
set(value) {
|
|
5708
|
+
this._value = value;
|
|
5709
|
+
}
|
|
5710
|
+
/**
|
|
5711
|
+
* Сбросить значение id в null.
|
|
5712
|
+
*/
|
|
5713
|
+
reset() {
|
|
5714
|
+
this._value = defaultId;
|
|
5715
|
+
}
|
|
5716
|
+
/**
|
|
5717
|
+
* Признак, что значение установлено (отлично от null).
|
|
5718
|
+
*/
|
|
5719
|
+
get isSet() {
|
|
5720
|
+
return this._value !== defaultId;
|
|
5721
|
+
}
|
|
5722
|
+
}
|
|
5723
|
+
|
|
5664
5724
|
/**
|
|
5665
5725
|
* SetService<T>
|
|
5666
5726
|
*
|
|
@@ -5789,18 +5849,23 @@ class CollectionService {
|
|
|
5789
5849
|
props;
|
|
5790
5850
|
_items = observable.map();
|
|
5791
5851
|
selectedIds = new SetService();
|
|
5852
|
+
_idSlots = new Map();
|
|
5792
5853
|
constructor(props) {
|
|
5793
5854
|
this.props = props;
|
|
5855
|
+
const { slots = [] } = props;
|
|
5794
5856
|
makeAutoObservable(this);
|
|
5857
|
+
slots.forEach((slotName) => {
|
|
5858
|
+
this._idSlots.set(slotName, new ScalarIdService());
|
|
5859
|
+
});
|
|
5795
5860
|
}
|
|
5796
5861
|
/**
|
|
5797
|
-
*
|
|
5862
|
+
* Возвращает id по самому элементу коллекции.
|
|
5798
5863
|
*/
|
|
5799
5864
|
getIdByItem(item) {
|
|
5800
5865
|
return this.props.getId(item);
|
|
5801
5866
|
}
|
|
5802
5867
|
/**
|
|
5803
|
-
* Возвращает observable
|
|
5868
|
+
* Возвращает observable‑коллекцию элементов в виде Map.
|
|
5804
5869
|
*/
|
|
5805
5870
|
get items() {
|
|
5806
5871
|
return this._items;
|
|
@@ -5809,90 +5874,35 @@ class CollectionService {
|
|
|
5809
5874
|
* Возвращает все элементы коллекции в виде обычного массива.
|
|
5810
5875
|
*/
|
|
5811
5876
|
get list() {
|
|
5812
|
-
return Array.from(this.items.values());
|
|
5877
|
+
return Object.freeze(Array.from(this.items.values()));
|
|
5813
5878
|
}
|
|
5814
|
-
/**
|
|
5815
|
-
* Возвращает все элементы, у которых значение указанного поля
|
|
5816
|
-
* строго равно переданному значению.
|
|
5817
|
-
*
|
|
5818
|
-
* @typeParam K Ключ поля элемента.
|
|
5819
|
-
* @param key Поле, по которому выполняется поиск.
|
|
5820
|
-
* @param value Значение, с которым сравнивается поле.
|
|
5821
|
-
* @returns Массив всех найденных элементов. Если совпадений нет, вернётся пустой массив.
|
|
5822
|
-
*/
|
|
5823
5879
|
findAllBy(key, value) {
|
|
5824
5880
|
return this.list.filter((item) => item[key] === value);
|
|
5825
5881
|
}
|
|
5826
|
-
/**
|
|
5827
|
-
* Возвращает все элементы, у которых значение указанного поля
|
|
5828
|
-
* входит в список переданных значений.
|
|
5829
|
-
*
|
|
5830
|
-
* @typeParam K Ключ поля элемента.
|
|
5831
|
-
* @param key Поле, по которому выполняется поиск.
|
|
5832
|
-
* @param values Набор допустимых значений поля.
|
|
5833
|
-
* @returns Массив всех найденных элементов. Если совпадений нет, вернётся пустой массив.
|
|
5834
|
-
*/
|
|
5835
5882
|
findAllIn(key, values) {
|
|
5836
5883
|
const valuesSet = new Set(values);
|
|
5837
5884
|
return this.list.filter((item) => valuesSet.has(item[key]));
|
|
5838
5885
|
}
|
|
5839
|
-
/**
|
|
5840
|
-
* Возвращает все элементы, которые одновременно соответствуют
|
|
5841
|
-
* всем переданным критериям.
|
|
5842
|
-
*
|
|
5843
|
-
* Метод выполняет точное сравнение по каждому полю.
|
|
5844
|
-
* Если передан пустой объект критериев, будут возвращены все элементы коллекции.
|
|
5845
|
-
*
|
|
5846
|
-
* @param criteria Объект с набором полей и значений для поиска.
|
|
5847
|
-
* @returns Массив всех элементов, удовлетворяющих всем условиям сразу.
|
|
5848
|
-
*/
|
|
5849
5886
|
findAllWhere(criteria) {
|
|
5850
5887
|
const entries = Object.entries(criteria);
|
|
5851
5888
|
return this.list.filter((item) => entries.every(([key, value]) => item[key] === value));
|
|
5852
5889
|
}
|
|
5853
|
-
/**
|
|
5854
|
-
* Возвращает элемент по его идентификатору.
|
|
5855
|
-
*
|
|
5856
|
-
* @param id Идентификатор элемента.
|
|
5857
|
-
* @returns Найденный элемент или undefined, если элемента с таким id нет.
|
|
5858
|
-
*/
|
|
5859
5890
|
getById(id) {
|
|
5860
|
-
|
|
5861
|
-
return item;
|
|
5891
|
+
return this.items.get(id) ?? null;
|
|
5862
5892
|
}
|
|
5863
|
-
/**
|
|
5864
|
-
* Добавляет элемент в коллекцию.
|
|
5865
|
-
*
|
|
5866
|
-
* @param item Элемент для добавления или замены.
|
|
5867
|
-
*/
|
|
5868
5893
|
add(item) {
|
|
5869
5894
|
const key = this.props.getId(item);
|
|
5870
5895
|
const value = this.props.normalizeItem(item);
|
|
5871
5896
|
this._items.set(key, value);
|
|
5872
5897
|
}
|
|
5873
|
-
/**
|
|
5874
|
-
* Добавляет в коллекцию несколько элементов подряд.
|
|
5875
|
-
*
|
|
5876
|
-
* @param items Массив элементов для добавления.
|
|
5877
|
-
*/
|
|
5878
5898
|
addMany(items) {
|
|
5879
5899
|
items.forEach((item) => {
|
|
5880
5900
|
this.add(item);
|
|
5881
5901
|
});
|
|
5882
5902
|
}
|
|
5883
|
-
/**
|
|
5884
|
-
* Удаляет элемент из коллекции по id.
|
|
5885
|
-
*
|
|
5886
|
-
* @param id Идентификатор удаляемого элемента.
|
|
5887
|
-
*/
|
|
5888
5903
|
delete(id) {
|
|
5889
5904
|
this._items.delete(id);
|
|
5890
5905
|
}
|
|
5891
|
-
/**
|
|
5892
|
-
* Удаляет из коллекции несколько элементов по списку id.
|
|
5893
|
-
*
|
|
5894
|
-
* @param ids Массив идентификаторов для удаления.
|
|
5895
|
-
*/
|
|
5896
5906
|
deleteMany(ids) {
|
|
5897
5907
|
ids.forEach((id) => {
|
|
5898
5908
|
this.delete(id);
|
|
@@ -5903,41 +5913,72 @@ class CollectionService {
|
|
|
5903
5913
|
*/
|
|
5904
5914
|
clear() {
|
|
5905
5915
|
this._items.clear();
|
|
5906
|
-
this.
|
|
5907
|
-
this.deletedId = null;
|
|
5916
|
+
this.resetSlots();
|
|
5908
5917
|
this.selectedIds.clear();
|
|
5909
5918
|
}
|
|
5910
|
-
|
|
5911
|
-
|
|
5912
|
-
|
|
5913
|
-
|
|
5914
|
-
|
|
5915
|
-
|
|
5919
|
+
/**
|
|
5920
|
+
* Запрос на получение отделельного экзепляра ScalarIdService
|
|
5921
|
+
*
|
|
5922
|
+
* @param name Имя слота.
|
|
5923
|
+
* @returns ScalarIdService по имени слота, если он был сконфигурирован.
|
|
5924
|
+
*/
|
|
5925
|
+
getIdSlot(name) {
|
|
5926
|
+
return this._idSlots.get(name) ?? null;
|
|
5916
5927
|
}
|
|
5917
|
-
|
|
5918
|
-
|
|
5919
|
-
|
|
5920
|
-
|
|
5928
|
+
/**
|
|
5929
|
+
* Возвращает id, хранящемуся в указанном слоте.
|
|
5930
|
+
*
|
|
5931
|
+
* @param name Имя слота.
|
|
5932
|
+
*/
|
|
5933
|
+
getIdBySlot(name) {
|
|
5934
|
+
const slot = this.getIdSlot(name);
|
|
5935
|
+
if (slot) {
|
|
5936
|
+
return slot.value;
|
|
5921
5937
|
}
|
|
5938
|
+
return null;
|
|
5922
5939
|
}
|
|
5923
|
-
|
|
5924
|
-
|
|
5925
|
-
|
|
5926
|
-
|
|
5927
|
-
|
|
5928
|
-
|
|
5940
|
+
/**
|
|
5941
|
+
* Возвращает элемент коллекции по id, хранящемуся в указанном слоте.
|
|
5942
|
+
*
|
|
5943
|
+
* @param name Имя слота.
|
|
5944
|
+
*/
|
|
5945
|
+
getItemBySlot(name) {
|
|
5946
|
+
const slot = this.getIdSlot(name);
|
|
5947
|
+
if (slot && slot.isSet && slot.value !== null) {
|
|
5948
|
+
return this.getById(slot.value);
|
|
5949
|
+
}
|
|
5950
|
+
return null;
|
|
5929
5951
|
}
|
|
5930
|
-
|
|
5931
|
-
|
|
5952
|
+
/**
|
|
5953
|
+
* Устанавливает id в указанный слот.
|
|
5954
|
+
*
|
|
5955
|
+
* @param name Имя слота.
|
|
5956
|
+
* @param value Новое значения id в слоте.
|
|
5957
|
+
*/
|
|
5958
|
+
setIdSlot(name, value) {
|
|
5959
|
+
const slot = this.getIdSlot(name);
|
|
5960
|
+
if (slot) {
|
|
5961
|
+
slot.set(value);
|
|
5962
|
+
}
|
|
5932
5963
|
}
|
|
5933
|
-
|
|
5934
|
-
|
|
5935
|
-
|
|
5936
|
-
|
|
5964
|
+
/**
|
|
5965
|
+
* Сбрасывает id в указанном слоте.
|
|
5966
|
+
*
|
|
5967
|
+
* @param name Имя слота.
|
|
5968
|
+
*/
|
|
5969
|
+
resetIdSlot(name) {
|
|
5970
|
+
const slot = this.getIdSlot(name);
|
|
5971
|
+
if (slot) {
|
|
5972
|
+
slot.reset();
|
|
5937
5973
|
}
|
|
5938
5974
|
}
|
|
5939
|
-
|
|
5940
|
-
|
|
5975
|
+
/**
|
|
5976
|
+
* Сбрасывает все слоты.
|
|
5977
|
+
*/
|
|
5978
|
+
resetSlots() {
|
|
5979
|
+
this._idSlots.forEach((slot) => {
|
|
5980
|
+
slot.reset();
|
|
5981
|
+
});
|
|
5941
5982
|
}
|
|
5942
5983
|
}
|
|
5943
5984
|
|
|
@@ -48362,6 +48403,7 @@ exports.Modal = modal;
|
|
|
48362
48403
|
exports.ModalContainer = ModalContainer;
|
|
48363
48404
|
exports.NoData = NoData;
|
|
48364
48405
|
exports.Paragraph = Paragraph;
|
|
48406
|
+
exports.ScalarIdService = ScalarIdService;
|
|
48365
48407
|
exports.Select = FormSelect;
|
|
48366
48408
|
exports.SetService = SetService;
|
|
48367
48409
|
exports.Tabs = Tabs;
|
package/dist/index.esm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export{alertStore}from"./stores/alert/alert.esm.js";export{modalStore}from"./stores/modal/modal.esm.js";export{Operations}from"./lib/types.esm.js";export{useDeviceType}from"./lib/hooks/useDeviceType.esm.js";export{useGetUser,useLazyGetUser}from"./lib/hooks/useGetUser.esm.js";export{useShowErrorSnackbar}from"./lib/hooks/useShowErrorSnackbar.esm.js";export{useShowSnackbar}from"./lib/hooks/useShowSnackbar.esm.js";export{useSignIn}from"./lib/hooks/useSignIn.esm.js";export{useSignOut}from"./lib/hooks/useSignOut.esm.js";export{copyInformation,encodeString,getEntityNames,getImageSrc,getNewId,getUniqueKey,getUrlencodedBody,showSnackbar}from"./lib/utils.esm.js";export{_testApiKeys}from"./configs/global/constants.esm.js";export{GlobalConfig}from"./configs/global/global.esm.js";export{API_METHODS}from"./constants/api.esm.js";export{PanelsNames}from"./constants/map.esm.js";export{arraySchema,dateRequiredSchema,dateSchema,getStringRequiredSchema,getStringSchema,numberRequiredSchema,numberSchema}from"./constants/schema.esm.js";export{default as Accordion}from"./components/accordion/accordion.esm.js";export{default as AlertDialog}from"./components/alert-dialog/alert-dialog.esm.js";export{default as Button}from"./components/buttons/button/button.esm.js";export{default as DeleteButton}from"./components/buttons/delete/delete.esm.js";export{default as IconButton}from"./components/buttons/icon/icon.esm.js";export{default as UploadButton}from"./components/buttons/upload/upload.esm.js";export{default as Card}from"./components/card/card.esm.js";export{default as Checkbox}from"./components/checkbox/checkbox.esm.js";export{default as CopyText}from"./components/copy-text/copy-text.esm.js";export{default as DateField}from"./components/date-field/date-field.esm.js";export{default as DragList}from"./components/drag-list/drag-list.esm.js";export{default as DraggableContainer}from"./components/draggable-container/draggable-container.esm.js";export{default as ErrorBoundary}from"./components/error-boundary/error-boundary.esm.js";export{default as FormErrorMessage}from"./components/form/error-message/error-message.esm.js";export{default as Form}from"./components/form/form.esm.js";export{useFormContext}from"./components/form/hooks/useFormContext.esm.js";export{default as Input}from"./components/input/input.esm.js";export{SourceLayers,TangramSourceNames}from"./components/layers/leaflet/lib/types.esm.js";export{getAllLayers,getAllPointLayers,getAllPolygonLayers,getAllPolylineLayers,getBackendDate,getLayerModalsNames,getLayerName,getValidLayer}from"./components/layers/leaflet/lib/utils.esm.js";export{sourceUrl,tile_size}from"./components/layers/leaflet/config/constants.esm.js";export{getBuildingLayers}from"./components/layers/leaflet/layers/building/utils.esm.js";export{getBuiltupAreaLayers}from"./components/layers/leaflet/layers/builtup-area/utils.esm.js";export{getAdminAreaLayers}from"./components/layers/leaflet/layers/admin-area/utils.esm.js";export{getCameraLayers}from"./components/layers/leaflet/layers/camera/lib/utils.esm.js";export{cameraConfig}from"./components/layers/leaflet/layers/camera/config/constants.esm.js";export{getCityPOILayers}from"./components/layers/leaflet/layers/city-POI/utils.esm.js";export{getConditionLayers}from"./components/layers/leaflet/layers/condition/utils.esm.js";export{getFacilityAreaLayers}from"./components/layers/leaflet/layers/facility-area/utils.esm.js";export{landuseAreaFeatureTypes,landuseAreaLayerGeometryData,landuseAreaLayerLabelData}from"./components/layers/leaflet/layers/landuse-area/constants.esm.js";export{getLanduseAreaGeometryLayer,getLanduseAreaLabelLayer,getLanduseAreaLayers}from"./components/layers/leaflet/layers/landuse-area/utils.esm.js";export{getLaneMarkingArrowLayers}from"./components/layers/leaflet/layers/lane-marking-arrow/utils.esm.js";export{getLinkLayers}from"./components/layers/leaflet/layers/link/utils.esm.js";export{getNatureFieldLayers}from"./components/layers/leaflet/layers/nature-field/utils.esm.js";export{getNatureForestGeometryLayer,getNatureForestLayers}from"./components/layers/leaflet/layers/nature-forest/utils.esm.js";export{getOceanAreaLayers}from"./components/layers/leaflet/layers/ocean-area/utils.esm.js";export{getOneWayLayers}from"./components/layers/leaflet/layers/one-way/utils.esm.js";export{getPillarLayers}from"./components/layers/leaflet/layers/pillar/lib/utils.esm.js";export{pillarConfig}from"./components/layers/leaflet/layers/pillar/config/constants.esm.js";export{catIds,text_source}from"./components/layers/leaflet/layers/POI/constants.esm.js";export{getDefaultPOI,getPOILayers,getPOITypeLayer}from"./components/layers/leaflet/layers/POI/utils.esm.js";export{getPointAddressLayers}from"./components/layers/leaflet/layers/point-address/utils.esm.js";export{getRailroadLayers}from"./components/layers/leaflet/layers/railroad/utils.esm.js";export{getTrafficSignImgSrc,getTrafficSignLayers,parseTrafficSignCSVFile}from"./components/layers/leaflet/layers/traffic-sign/lib/utils.esm.js";export{allTrafficSigns,trafficSignConfig,trafficSigns,trafficSignsDop}from"./components/layers/leaflet/layers/traffic-sign/config/constants.esm.js";export{getTrafficSignalLayers}from"./components/layers/leaflet/layers/traffic-signal/lib/utils.esm.js";export{trafficSignalConfig}from"./components/layers/leaflet/layers/traffic-signal/config/constants.esm.js";export{getWaterAreaLayers}from"./components/layers/leaflet/layers/water-area/utils.esm.js";export{getWaterLinkLayers}from"./components/layers/leaflet/layers/water-link/utils.esm.js";export{default as LeafletLayer}from"./components/layers/leaflet/leaflet.esm.js";export{TangramLayer}from"./components/layers/leaflet/services/tangram-layer.esm.js";export{default as List}from"./components/list/list.esm.js";export{default as Loader}from"./components/loader/loader.esm.js";export{default as Modal}from"./components/modal/modal.esm.js";export{ModalContainer}from"./components/modal/styles.esm.js";export{default as NoData}from"./components/no-data/no-data.esm.js";export{default as Paragraph}from"./components/paragraph/paragraph.esm.js";export{default as Select}from"./components/select/select.esm.js";export{default as Tabs}from"./components/tabs/tabs.esm.js";export{default as TextField}from"./components/text-field/text-field.esm.js";export{CSVUploader}from"./components/uploader/csv/csv.esm.js";export{default as ExcelUploader}from"./components/uploader/excel/excel.esm.js";export{default as AuthPage}from"./pages/auth/auth.esm.js";export{default as DartcomAuthProvider}from"./providers/auth/auth.esm.js";export{default as DartcomInitializeProvider}from"./providers/initialize/initialize.esm.js";export{default as DartcomLocalizationProvider}from"./providers/localization/localization.esm.js";export{default as DartcomProviders}from"./providers/providers.esm.js";export{ApiService}from"./services/api/api.service.esm.js";export{CollectionService}from"./services/collection/collection.service.esm.js";export{GeometryHistoryService}from"./services/geometry-history/geometry-history.service.esm.js";export{localStateService}from"./services/local-state/local-state.esm.js";export{localizationService}from"./services/localization/localization.esm.js";export{loggerService}from"./services/logger/logger.esm.js";export{mapService}from"./services/map/map.service.esm.js";export{queryService}from"./services/query/query.esm.js";export{SetService}from"./services/set/set.service.esm.js";
|
|
1
|
+
export{alertStore}from"./stores/alert/alert.esm.js";export{modalStore}from"./stores/modal/modal.esm.js";export{Operations}from"./lib/types.esm.js";export{useDeviceType}from"./lib/hooks/useDeviceType.esm.js";export{useGetUser,useLazyGetUser}from"./lib/hooks/useGetUser.esm.js";export{useShowErrorSnackbar}from"./lib/hooks/useShowErrorSnackbar.esm.js";export{useShowSnackbar}from"./lib/hooks/useShowSnackbar.esm.js";export{useSignIn}from"./lib/hooks/useSignIn.esm.js";export{useSignOut}from"./lib/hooks/useSignOut.esm.js";export{copyInformation,encodeString,getEntityNames,getImageSrc,getNewId,getUniqueKey,getUrlencodedBody,showSnackbar}from"./lib/utils.esm.js";export{_testApiKeys}from"./configs/global/constants.esm.js";export{GlobalConfig}from"./configs/global/global.esm.js";export{API_METHODS}from"./constants/api.esm.js";export{PanelsNames}from"./constants/map.esm.js";export{arraySchema,dateRequiredSchema,dateSchema,getStringRequiredSchema,getStringSchema,numberRequiredSchema,numberSchema}from"./constants/schema.esm.js";export{default as Accordion}from"./components/accordion/accordion.esm.js";export{default as AlertDialog}from"./components/alert-dialog/alert-dialog.esm.js";export{default as Button}from"./components/buttons/button/button.esm.js";export{default as DeleteButton}from"./components/buttons/delete/delete.esm.js";export{default as IconButton}from"./components/buttons/icon/icon.esm.js";export{default as UploadButton}from"./components/buttons/upload/upload.esm.js";export{default as Card}from"./components/card/card.esm.js";export{default as Checkbox}from"./components/checkbox/checkbox.esm.js";export{default as CopyText}from"./components/copy-text/copy-text.esm.js";export{default as DateField}from"./components/date-field/date-field.esm.js";export{default as DragList}from"./components/drag-list/drag-list.esm.js";export{default as DraggableContainer}from"./components/draggable-container/draggable-container.esm.js";export{default as ErrorBoundary}from"./components/error-boundary/error-boundary.esm.js";export{default as FormErrorMessage}from"./components/form/error-message/error-message.esm.js";export{default as Form}from"./components/form/form.esm.js";export{useFormContext}from"./components/form/hooks/useFormContext.esm.js";export{default as Input}from"./components/input/input.esm.js";export{SourceLayers,TangramSourceNames}from"./components/layers/leaflet/lib/types.esm.js";export{getAllLayers,getAllPointLayers,getAllPolygonLayers,getAllPolylineLayers,getBackendDate,getLayerModalsNames,getLayerName,getValidLayer}from"./components/layers/leaflet/lib/utils.esm.js";export{sourceUrl,tile_size}from"./components/layers/leaflet/config/constants.esm.js";export{getBuildingLayers}from"./components/layers/leaflet/layers/building/utils.esm.js";export{getBuiltupAreaLayers}from"./components/layers/leaflet/layers/builtup-area/utils.esm.js";export{getAdminAreaLayers}from"./components/layers/leaflet/layers/admin-area/utils.esm.js";export{getCameraLayers}from"./components/layers/leaflet/layers/camera/lib/utils.esm.js";export{cameraConfig}from"./components/layers/leaflet/layers/camera/config/constants.esm.js";export{getCityPOILayers}from"./components/layers/leaflet/layers/city-POI/utils.esm.js";export{getConditionLayers}from"./components/layers/leaflet/layers/condition/utils.esm.js";export{getFacilityAreaLayers}from"./components/layers/leaflet/layers/facility-area/utils.esm.js";export{landuseAreaFeatureTypes,landuseAreaLayerGeometryData,landuseAreaLayerLabelData}from"./components/layers/leaflet/layers/landuse-area/constants.esm.js";export{getLanduseAreaGeometryLayer,getLanduseAreaLabelLayer,getLanduseAreaLayers}from"./components/layers/leaflet/layers/landuse-area/utils.esm.js";export{getLaneMarkingArrowLayers}from"./components/layers/leaflet/layers/lane-marking-arrow/utils.esm.js";export{getLinkLayers}from"./components/layers/leaflet/layers/link/utils.esm.js";export{getNatureFieldLayers}from"./components/layers/leaflet/layers/nature-field/utils.esm.js";export{getNatureForestGeometryLayer,getNatureForestLayers}from"./components/layers/leaflet/layers/nature-forest/utils.esm.js";export{getOceanAreaLayers}from"./components/layers/leaflet/layers/ocean-area/utils.esm.js";export{getOneWayLayers}from"./components/layers/leaflet/layers/one-way/utils.esm.js";export{getPillarLayers}from"./components/layers/leaflet/layers/pillar/lib/utils.esm.js";export{pillarConfig}from"./components/layers/leaflet/layers/pillar/config/constants.esm.js";export{catIds,text_source}from"./components/layers/leaflet/layers/POI/constants.esm.js";export{getDefaultPOI,getPOILayers,getPOITypeLayer}from"./components/layers/leaflet/layers/POI/utils.esm.js";export{getPointAddressLayers}from"./components/layers/leaflet/layers/point-address/utils.esm.js";export{getRailroadLayers}from"./components/layers/leaflet/layers/railroad/utils.esm.js";export{getTrafficSignImgSrc,getTrafficSignLayers,parseTrafficSignCSVFile}from"./components/layers/leaflet/layers/traffic-sign/lib/utils.esm.js";export{allTrafficSigns,trafficSignConfig,trafficSigns,trafficSignsDop}from"./components/layers/leaflet/layers/traffic-sign/config/constants.esm.js";export{getTrafficSignalLayers}from"./components/layers/leaflet/layers/traffic-signal/lib/utils.esm.js";export{trafficSignalConfig}from"./components/layers/leaflet/layers/traffic-signal/config/constants.esm.js";export{getWaterAreaLayers}from"./components/layers/leaflet/layers/water-area/utils.esm.js";export{getWaterLinkLayers}from"./components/layers/leaflet/layers/water-link/utils.esm.js";export{default as LeafletLayer}from"./components/layers/leaflet/leaflet.esm.js";export{TangramLayer}from"./components/layers/leaflet/services/tangram-layer.esm.js";export{default as List}from"./components/list/list.esm.js";export{default as Loader}from"./components/loader/loader.esm.js";export{default as Modal}from"./components/modal/modal.esm.js";export{ModalContainer}from"./components/modal/styles.esm.js";export{default as NoData}from"./components/no-data/no-data.esm.js";export{default as Paragraph}from"./components/paragraph/paragraph.esm.js";export{default as Select}from"./components/select/select.esm.js";export{default as Tabs}from"./components/tabs/tabs.esm.js";export{default as TextField}from"./components/text-field/text-field.esm.js";export{CSVUploader}from"./components/uploader/csv/csv.esm.js";export{default as ExcelUploader}from"./components/uploader/excel/excel.esm.js";export{default as AuthPage}from"./pages/auth/auth.esm.js";export{default as DartcomAuthProvider}from"./providers/auth/auth.esm.js";export{default as DartcomInitializeProvider}from"./providers/initialize/initialize.esm.js";export{default as DartcomLocalizationProvider}from"./providers/localization/localization.esm.js";export{default as DartcomProviders}from"./providers/providers.esm.js";export{ApiService}from"./services/api/api.service.esm.js";export{CollectionService}from"./services/collection/collection.service.esm.js";export{GeometryHistoryService}from"./services/geometry-history/geometry-history.service.esm.js";export{localStateService}from"./services/local-state/local-state.esm.js";export{localizationService}from"./services/localization/localization.esm.js";export{loggerService}from"./services/logger/logger.esm.js";export{mapService}from"./services/map/map.service.esm.js";export{queryService}from"./services/query/query.esm.js";export{ScalarIdService}from"./services/scalar-id/scalar-id.service.esm.js";export{SetService}from"./services/set/set.service.esm.js";
|
|
@@ -1,100 +1,75 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StringOrNumber } from '../../lib';
|
|
2
|
+
import { ScalarIdService } from '../scalar-id';
|
|
2
3
|
import { SetService } from '../set';
|
|
3
|
-
export declare class CollectionService<T, Id extends StringOrNumber> {
|
|
4
|
+
export declare class CollectionService<T, Id extends StringOrNumber, TSlots extends string> {
|
|
4
5
|
private readonly props;
|
|
5
6
|
private readonly _items;
|
|
6
7
|
readonly selectedIds: SetService<Id>;
|
|
8
|
+
private readonly _idSlots;
|
|
7
9
|
constructor(props: {
|
|
8
10
|
getId: (item: T) => Id;
|
|
9
11
|
normalizeItem: (item: T) => T;
|
|
12
|
+
slots?: readonly TSlots[];
|
|
10
13
|
});
|
|
11
14
|
/**
|
|
12
|
-
*
|
|
15
|
+
* Возвращает id по самому элементу коллекции.
|
|
13
16
|
*/
|
|
14
17
|
getIdByItem(item: T): Id;
|
|
15
18
|
/**
|
|
16
|
-
* Возвращает observable
|
|
19
|
+
* Возвращает observable‑коллекцию элементов в виде Map.
|
|
17
20
|
*/
|
|
18
21
|
get items(): import("mobx").ObservableMap<StringOrNumber, T>;
|
|
19
22
|
/**
|
|
20
23
|
* Возвращает все элементы коллекции в виде обычного массива.
|
|
21
24
|
*/
|
|
22
|
-
get list(): T[];
|
|
23
|
-
/**
|
|
24
|
-
* Возвращает все элементы, у которых значение указанного поля
|
|
25
|
-
* строго равно переданному значению.
|
|
26
|
-
*
|
|
27
|
-
* @typeParam K Ключ поля элемента.
|
|
28
|
-
* @param key Поле, по которому выполняется поиск.
|
|
29
|
-
* @param value Значение, с которым сравнивается поле.
|
|
30
|
-
* @returns Массив всех найденных элементов. Если совпадений нет, вернётся пустой массив.
|
|
31
|
-
*/
|
|
25
|
+
get list(): readonly T[];
|
|
32
26
|
findAllBy<K extends keyof T>(key: K, value: T[K]): T[];
|
|
33
|
-
/**
|
|
34
|
-
* Возвращает все элементы, у которых значение указанного поля
|
|
35
|
-
* входит в список переданных значений.
|
|
36
|
-
*
|
|
37
|
-
* @typeParam K Ключ поля элемента.
|
|
38
|
-
* @param key Поле, по которому выполняется поиск.
|
|
39
|
-
* @param values Набор допустимых значений поля.
|
|
40
|
-
* @returns Массив всех найденных элементов. Если совпадений нет, вернётся пустой массив.
|
|
41
|
-
*/
|
|
42
27
|
findAllIn<K extends keyof T>(key: K, values: readonly T[K][]): T[];
|
|
28
|
+
findAllWhere(criteria: Partial<T>): T[];
|
|
29
|
+
getById(id: Id): NonNullable<T> | null;
|
|
30
|
+
add(item: T): void;
|
|
31
|
+
addMany(items: T[]): void;
|
|
32
|
+
delete(id: Id): void;
|
|
33
|
+
deleteMany(ids: Id[]): void;
|
|
43
34
|
/**
|
|
44
|
-
*
|
|
45
|
-
* всем переданным критериям.
|
|
46
|
-
*
|
|
47
|
-
* Метод выполняет точное сравнение по каждому полю.
|
|
48
|
-
* Если передан пустой объект критериев, будут возвращены все элементы коллекции.
|
|
49
|
-
*
|
|
50
|
-
* @param criteria Объект с набором полей и значений для поиска.
|
|
51
|
-
* @returns Массив всех элементов, удовлетворяющих всем условиям сразу.
|
|
35
|
+
* Полностью очищает коллекцию и сбрасывает служебные состояния выбора.
|
|
52
36
|
*/
|
|
53
|
-
|
|
37
|
+
clear(): void;
|
|
54
38
|
/**
|
|
55
|
-
*
|
|
39
|
+
* Запрос на получение отделельного экзепляра ScalarIdService
|
|
56
40
|
*
|
|
57
|
-
* @param
|
|
58
|
-
* @returns
|
|
41
|
+
* @param name Имя слота.
|
|
42
|
+
* @returns ScalarIdService по имени слота, если он был сконфигурирован.
|
|
59
43
|
*/
|
|
60
|
-
|
|
44
|
+
getIdSlot(name: TSlots): ScalarIdService<Id> | null;
|
|
61
45
|
/**
|
|
62
|
-
*
|
|
46
|
+
* Возвращает id, хранящемуся в указанном слоте.
|
|
63
47
|
*
|
|
64
|
-
* @param
|
|
48
|
+
* @param name Имя слота.
|
|
65
49
|
*/
|
|
66
|
-
|
|
50
|
+
getIdBySlot(name: TSlots): import("../../lib").Nullable<Id>;
|
|
67
51
|
/**
|
|
68
|
-
*
|
|
52
|
+
* Возвращает элемент коллекции по id, хранящемуся в указанном слоте.
|
|
69
53
|
*
|
|
70
|
-
* @param
|
|
54
|
+
* @param name Имя слота.
|
|
71
55
|
*/
|
|
72
|
-
|
|
56
|
+
getItemBySlot(name: TSlots): NonNullable<T> | null;
|
|
73
57
|
/**
|
|
74
|
-
*
|
|
58
|
+
* Устанавливает id в указанный слот.
|
|
75
59
|
*
|
|
76
|
-
* @param
|
|
60
|
+
* @param name Имя слота.
|
|
61
|
+
* @param value Новое значения id в слоте.
|
|
77
62
|
*/
|
|
78
|
-
|
|
63
|
+
setIdSlot(name: TSlots, value: Id): void;
|
|
79
64
|
/**
|
|
80
|
-
*
|
|
65
|
+
* Сбрасывает id в указанном слоте.
|
|
81
66
|
*
|
|
82
|
-
* @param
|
|
67
|
+
* @param name Имя слота.
|
|
83
68
|
*/
|
|
84
|
-
|
|
69
|
+
resetIdSlot(name: TSlots): void;
|
|
85
70
|
/**
|
|
86
|
-
*
|
|
71
|
+
* Сбрасывает все слоты.
|
|
87
72
|
*/
|
|
88
|
-
|
|
89
|
-
private _updatedId;
|
|
90
|
-
get updatedId(): Nullable<Id>;
|
|
91
|
-
set updatedId(value: Nullable<Id>);
|
|
92
|
-
get updatedItem(): T | undefined;
|
|
93
|
-
get isUpdated(): boolean;
|
|
94
|
-
private _deletedId;
|
|
95
|
-
get deletedId(): Nullable<Id>;
|
|
96
|
-
set deletedId(value: Nullable<Id>);
|
|
97
|
-
get deletedItem(): T | undefined;
|
|
98
|
-
get isDeleted(): boolean;
|
|
73
|
+
resetSlots(): void;
|
|
99
74
|
}
|
|
100
75
|
//# sourceMappingURL=collection.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"collection.service.d.ts","sourceRoot":"","sources":["../../../src/services/collection/collection.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"collection.service.d.ts","sourceRoot":"","sources":["../../../src/services/collection/collection.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAIvC,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC,qBAAa,iBAAiB,CAC5B,CAAC,EACD,EAAE,SAAS,cAAc,EACzB,MAAM,SAAS,MAAM;IASnB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAPxB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAE9D,SAAgB,WAAW,iBAAwB;IAEnD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0C;gBAGhD,KAAK,EAAE;QACtB,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC;QACvB,aAAa,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;QAC9B,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;KAC3B;IAWH;;OAEG;IACI,WAAW,CAAC,IAAI,EAAE,CAAC;IAI1B;;OAEG;IACH,IAAW,KAAK,oDAEf;IAED;;OAEG;IACH,IAAW,IAAI,iBAEd;IAEM,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAIhD,SAAS,CAAC,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE;IAM5D,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IAQjC,OAAO,CAAC,EAAE,EAAE,EAAE;IAId,GAAG,CAAC,IAAI,EAAE,CAAC;IAQX,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE;IAMlB,MAAM,CAAC,EAAE,EAAE,EAAE;IAIb,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE;IAM3B;;OAEG;IACI,KAAK;IAQZ;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM;IAI7B;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM;IAU/B;;;;OAIG;IACI,aAAa,CAAC,IAAI,EAAE,MAAM;IAUjC;;;;;OAKG;IACI,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE;IAQxC;;;;OAIG;IACI,WAAW,CAAC,IAAI,EAAE,MAAM;IAQ/B;;OAEG;IACI,UAAU;CAKlB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{observable as
|
|
1
|
+
import{observable as t,makeAutoObservable as e}from"../../node_modules/mobx/dist/mobx.esm.esm.js";import{ScalarIdService as s}from"../scalar-id/scalar-id.service.esm.js";import{SetService as r}from"../set/set.service.esm.js";class i{props;_items=t.map();selectedIds=new r;_idSlots=new Map;constructor(t){this.props=t;const{slots:r=[]}=t;e(this),r.forEach(t=>{this._idSlots.set(t,new s)})}getIdByItem(t){return this.props.getId(t)}get items(){return this._items}get list(){return Object.freeze(Array.from(this.items.values()))}findAllBy(t,e){return this.list.filter(s=>s[t]===e)}findAllIn(t,e){const s=new Set(e);return this.list.filter(e=>s.has(e[t]))}findAllWhere(t){const e=Object.entries(t);return this.list.filter(t=>e.every(([e,s])=>t[e]===s))}getById(t){return this.items.get(t)??null}add(t){const e=this.props.getId(t),s=this.props.normalizeItem(t);this._items.set(e,s)}addMany(t){t.forEach(t=>{this.add(t)})}delete(t){this._items.delete(t)}deleteMany(t){t.forEach(t=>{this.delete(t)})}clear(){this._items.clear(),this.resetSlots(),this.selectedIds.clear()}getIdSlot(t){return this._idSlots.get(t)??null}getIdBySlot(t){const e=this.getIdSlot(t);return e?e.value:null}getItemBySlot(t){const e=this.getIdSlot(t);return e&&e.isSet&&null!==e.value?this.getById(e.value):null}setIdSlot(t,e){const s=this.getIdSlot(t);s&&s.set(e)}resetIdSlot(t){const e=this.getIdSlot(t);e&&e.reset()}resetSlots(){this._idSlots.forEach(t=>{t.reset()})}}export{i as CollectionService};
|
package/dist/services/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,OAAO,CAAC;AACtB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAC5B,cAAc,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/scalar-id/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-id.constants.d.ts","sourceRoot":"","sources":["../../../src/services/scalar-id/scalar-id.constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,MAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const l=null;export{l as defaultId};
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { Nullable } from '../../lib';
|
|
2
|
+
/**
|
|
3
|
+
* ScalarIdService<Id>
|
|
4
|
+
*
|
|
5
|
+
* Небольшой сервис для хранения одного "текущего" идентификатора.
|
|
6
|
+
* Подходит для:
|
|
7
|
+
* - последнего обновлённого элемента (updatedId);
|
|
8
|
+
* - последнего удалённого элемента (deletedId);
|
|
9
|
+
* - текущего выделенного элемента (selectedId), если нужен один.
|
|
10
|
+
*
|
|
11
|
+
* Возможности:
|
|
12
|
+
* - value: текущее значение или null;
|
|
13
|
+
* - isSet: флаг, установлен ли id;
|
|
14
|
+
* - set / reset: явное управление значением.
|
|
15
|
+
*
|
|
16
|
+
* Пример:
|
|
17
|
+
* const updated = new ScalarIdService<string>();
|
|
18
|
+
* updated.set('42');
|
|
19
|
+
* updated.isSet; // true
|
|
20
|
+
* updated.value; // '42'
|
|
21
|
+
* updated.reset();
|
|
22
|
+
*/
|
|
23
|
+
export declare class ScalarIdService<Id> {
|
|
24
|
+
/**
|
|
25
|
+
* Внутреннее хранилище идентификатора.
|
|
26
|
+
* null означает "ничего не выбрано / не установлено".
|
|
27
|
+
*/
|
|
28
|
+
private _value;
|
|
29
|
+
constructor();
|
|
30
|
+
/**
|
|
31
|
+
* Текущее значение id или null, если значение не установлено.
|
|
32
|
+
*/
|
|
33
|
+
get value(): Nullable<Id>;
|
|
34
|
+
/**
|
|
35
|
+
* Установить новое значение id.
|
|
36
|
+
*
|
|
37
|
+
* @param value Новое значение или null для сброса.
|
|
38
|
+
*/
|
|
39
|
+
set(value: Id): void;
|
|
40
|
+
/**
|
|
41
|
+
* Сбросить значение id в null.
|
|
42
|
+
*/
|
|
43
|
+
reset(): void;
|
|
44
|
+
/**
|
|
45
|
+
* Признак, что значение установлено (отлично от null).
|
|
46
|
+
*/
|
|
47
|
+
get isSet(): boolean;
|
|
48
|
+
}
|
|
49
|
+
//# sourceMappingURL=scalar-id.service.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scalar-id.service.d.ts","sourceRoot":"","sources":["../../../src/services/scalar-id/scalar-id.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,eAAe,CAAC,EAAE;IAC7B;;;OAGG;IACH,OAAO,CAAC,MAAM,CAA2B;;IAMzC;;OAEG;IACH,IAAW,KAAK,iBAEf;IAED;;;;OAIG;IACI,GAAG,CAAC,KAAK,EAAE,EAAE;IAIpB;;OAEG;IACI,KAAK;IAIZ;;OAEG;IACH,IAAW,KAAK,YAEf;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{makeAutoObservable as s}from"../../node_modules/mobx/dist/mobx.esm.esm.js";import{defaultId as t}from"./scalar-id.constants.esm.js";class e{_value=t;constructor(){s(this,{},{autoBind:!0})}get value(){return this._value}set(s){this._value=s}reset(){this._value=t}get isSet(){return this._value!==t}}export{e as ScalarIdService};
|