@platforma-sdk/ui-vue 1.63.0 → 1.63.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,17 +1,17 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.63.0 build /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.63.1 build /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder build --target browser-lib
5
5
 
6
6
  Building browser-lib project...
7
7
  ↳ vite.js build --config /configs/vite.browser-lib.config.js --mode production
8
8
  vite v8.0.0-beta.15 building client environment for production...
9
9
  [warn] `inlineDynamicImports` option is deprecated, please use `codeSplitting: false` instead.
10
- 
10
+ 
11
11
  rendering chunks...
12
12
 
13
13
  [vite:dts] Start generate declaration files...
14
- [vite:dts] Declaration files built in 5121ms.
14
+ [vite:dts] Declaration files built in 4387ms.
15
15
 
16
16
  computing gzip size...
17
17
  dist/components/PlAnnotations/components/PlAnnotations.vue?vue&type=style&index=0&lang.css 0.04 kB │ gzip: 0.06 kB
@@ -62,6 +62,7 @@ dist/components/PlAgChartHistogramCell/index.js
62
62
  dist/components/PlAgChartStackedBarCell/index.js 0.03 kB │ gzip: 0.05 kB
63
63
  dist/components/PlAppErrorNotificationAlert/index.js 0.04 kB │ gzip: 0.06 kB
64
64
  dist/components/PlAnnotations/index.js 0.08 kB │ gzip: 0.07 kB
65
+ dist/lib/util/helpers/dist/ref_count_pool.js 0.10 kB │ gzip: 0.11 kB │ map: 4.31 kB
65
66
  dist/AgGridVue/index.js 0.11 kB │ gzip: 0.08 kB
66
67
  dist/lib/util/helpers/dist/hash.js 0.11 kB │ gzip: 0.12 kB │ map: 1.43 kB
67
68
  dist/_virtual/_plugin-vue_export-helper.js 0.11 kB │ gzip: 0.12 kB
@@ -88,7 +89,6 @@ dist/components/PlAdvancedFilter/index.js
88
89
  dist/components/PlAgDataTable/sources/common.js 0.19 kB │ gzip: 0.16 kB │ map: 0.60 kB
89
90
  dist/components/BlockLayout.vue_vue_type_style_index_0_lang.module.js 0.20 kB │ gzip: 0.17 kB │ map: 0.41 kB
90
91
  dist/components/PlAnnotations/utils.js 0.20 kB │ gzip: 0.19 kB │ map: 1.02 kB
91
- dist/lib/util/helpers/dist/index.js 0.20 kB │ gzip: 0.10 kB
92
92
  dist/components/PlTableFilters/PlTableFiltersV2.vue_vue_type_style_index_0_lang.module.js 0.20 kB │ gzip: 0.17 kB │ map: 0.42 kB
93
93
  dist/plugins/Monetization/EndOfPeriod.vue_vue_type_style_index_0_lang.module.js 0.20 kB │ gzip: 0.18 kB │ map: 0.42 kB
94
94
  dist/components/PlAnnotations/components/PlAnnotations.vue_vue_type_style_index_0_lang.module.js 0.21 kB │ gzip: 0.18 kB │ map: 0.42 kB
@@ -98,6 +98,7 @@ dist/components/PlAnnotations/components/FilterSidebar.vue_vue_type_style_index_
98
98
  dist/components/PlAgDataTable/PlAgDataTableV2.vue_vue_type_style_index_0_lang.module.js 0.24 kB │ gzip: 0.19 kB │ map: 0.45 kB
99
99
  dist/components/PlAnnotations/components/PlAnnotationsModal.vue_vue_type_style_index_0_lang.module.js 0.24 kB │ gzip: 0.19 kB │ map: 0.46 kB
100
100
  dist/components/PlBtnExportArchive/Summary.vue_vue_type_style_index_0_lang.module.js 0.25 kB │ gzip: 0.19 kB │ map: 0.50 kB
101
+ dist/lib/util/helpers/dist/index.js 0.26 kB │ gzip: 0.12 kB
101
102
  dist/components/PlAdvancedFilter/OperandButton.vue_vue_type_style_index_0_lang.module.js 0.26 kB │ gzip: 0.20 kB │ map: 0.50 kB
102
103
  dist/components/PlBtnExportArchive/Item.vue_vue_type_style_index_0_lang.module.js 0.26 kB │ gzip: 0.20 kB │ map: 0.54 kB
103
104
  dist/components/PlAgDataTable/pl-ag-overlay-loading.module.js 0.27 kB │ gzip: 0.19 kB │ map: 0.52 kB
@@ -119,6 +120,7 @@ dist/components/PlAdvancedFilter/FilterEditor.js
119
120
  dist/components/PlAdvancedFilter/OperandButton.js 0.34 kB │ gzip: 0.23 kB │ map: 1.31 kB
120
121
  dist/components/PlAnnotations/components/FilterSidebar.js 0.34 kB │ gzip: 0.23 kB │ map: 4.72 kB
121
122
  dist/components/PlAnnotations/components/PlAnnotations.js 0.34 kB │ gzip: 0.23 kB │ map: 2.65 kB
123
+ dist/lib/util/helpers/dist/disposable.js 0.34 kB │ gzip: 0.18 kB │ map: 0.83 kB
122
124
  dist/components/PlAgDataTable/PlAgDataTableV2.js 0.34 kB │ gzip: 0.24 kB │ map: 20.90 kB
123
125
  dist/plugins/Monetization/UserCabinetCard.js 0.34 kB │ gzip: 0.23 kB │ map: 3.00 kB
124
126
  dist/components/PlAdvancedFilter/PlAdvancedFilter.js 0.34 kB │ gzip: 0.24 kB │ map: 10.70 kB
@@ -216,12 +218,12 @@ dist/components/PlAdvancedFilter/FilterEditor.vue_vue_type_script_setup_true_lan
216
218
  dist/components/PlAgDataTable/PlAgDataTableV2.vue_vue_type_script_setup_true_lang.js 11.51 kB │ gzip: 3.68 kB │ map: 27.94 kB
217
219
 
218
220
  [PLUGIN_TIMINGS] Warning: Your build spent significant time in plugins. Here is a breakdown:
219
- - vite:dts (30%)
220
- - sourcemaps (27%)
221
- - vite:vue (13%)
221
+ - sourcemaps (34%)
222
+ - vite:dts (22%)
222
223
  - vite:css-post (11%)
223
- - vite:css (7%)
224
+ - vite:vue (10%)
225
+ - vite:build-import-analysis (8%)
224
226
  See https://rolldown.rs/options/checks#plugintimings for more details.
225
227
  
226
- ✓ built in 5.92s
228
+ ✓ built in 5.19s
227
229
  Build completed successfully
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.63.0 formatter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.63.1 formatter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder formatter --check
5
5
 
6
6
  Checking formatting...
@@ -8,5 +8,5 @@ Checking formatting...
8
8
  Checking formatting...
9
9
 
10
10
  All matched files use the correct format.
11
- Finished in 2903ms on 128 files using 8 threads.
11
+ Finished in 4793ms on 128 files using 8 threads.
12
12
  Format check completed successfully
@@ -1,10 +1,10 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.63.0 linter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.63.1 linter:check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder linter --check
5
5
 
6
6
  Linting project...
7
7
  ↳ oxlint --config /home/runner/_work/platforma/platforma/sdk/ui-vue/.oxlintrc.json --deny-warnings
8
8
  Found 0 warnings and 0 errors.
9
- Finished in 28ms on 111 files with 98 rules using 8 threads.
9
+ Finished in 24ms on 111 files with 98 rules using 8 threads.
10
10
  Linting completed successfully
@@ -1,6 +1,6 @@
1
1
   WARN  Issue while reading "/home/runner/_work/platforma/platforma/.npmrc". Failed to replace env in config: ${NPMJS_TOKEN}
2
2
 
3
- > @platforma-sdk/ui-vue@1.63.0 types:check /home/runner/_work/platforma/platforma/sdk/ui-vue
3
+ > @platforma-sdk/ui-vue@1.63.1 types:check /home/runner/_work/platforma/platforma/sdk/ui-vue
4
4
  > ts-builder type-check --target browser-lib
5
5
 
6
6
  ↳ vue-tsc.js --noEmit --project ./tsconfig.json --customConditions ,
package/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # @platforma-sdk/ui-vue
2
2
 
3
+ ## 1.63.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Updated dependencies [6dc9e0d]
8
+ - @milaboratories/pf-spec-driver@1.2.3
9
+ - @milaboratories/pl-model-common@1.31.1
10
+ - @milaboratories/uikit@2.11.6
11
+ - @platforma-sdk/model@1.63.1
12
+
3
13
  ## 1.63.0
4
14
 
5
15
  ### Minor Changes
@@ -1 +1 @@
1
- {"version":3,"file":"PlAnnotations.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from \"./FilterSidebar.vue\";\nexport type Props = BaseProps & {\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from \"vue\";\n\nimport { isNil } from \"@milaboratories/helpers\";\nimport { PlSidebarGroup, useConfirm } from \"@milaboratories/uikit\";\n\nimport type { Annotation } from \"../types\";\nimport AnnotationsSidebar from \"./AnnotationsSidebar.vue\";\nimport FilterSidebar from \"./FilterSidebar.vue\";\n\n// Models\nconst annotation = defineModel<Annotation>(\"annotation\", { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(annotation.value)\n ? undefined\n : annotation.value.steps.find((step) => step.id === selectedStepId.value);\n});\n\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Hooks\nconst confirmResetSchema = useConfirm({\n title: \"Reset Schema\",\n message: \"Are you sure you want to reset the schema? This action cannot be undone.\",\n confirmLabel: \"Yes, reset\",\n cancelLabel: \"No, cancel\",\n});\n// Actions\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n</script>\n\n<template>\n <PlSidebarGroup>\n <template #item-0>\n <AnnotationsSidebar\n v-model:annotation=\"annotation\"\n v-model:selectedStepId=\"selectedStepId\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n v-model:step=\"selectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :selectedStepId=\"selectedStepId\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style module>\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAkBA,IAAM,IAAa,EAAuB,GAAC,aAAiC,EAEtE,IAAQ,GAER,IAAiB,EAA+B,KAAA,EAAU,EAC1D,IAAe,QACZ,EAAM,EAAe,MAAM,IAAI,EAAM,EAAW,MAAK,GACxD,KAAA,IACA,EAAW,MAAM,MAAM,MAAM,MAAS,EAAK,OAAO,EAAe,MAAM,CAC3E;AAGF,IAAO,WAA4B;AACjC,GAAI,EAAe,UAAU,KAAA,KAAa,EAAW,MAAM,MAAM,SAAS,MACxE,EAAe,QAAQ,EAAW,MAAM,MAAM,GAAG;IAEnD;EAEF,IAAM,IAAqB,EAAW;GACpC,OAAO;GACP,SAAS;GACT,cAAc;GACd,aAAa;GACd,CAAC;EAEF,eAAe,IAAqB;AAClC,GAAI,MAAM,GAAoB,KAC5B,EAAe,QAAQ,KAAA,GACvB,EAAM,kBAAkB;;yBAM1B,EAsBiB,EAAA,EAAA,EAAA,MAAA;GArBJ,UAAM,QAOb,CANF,EAME,GAAA;IALQ,YAAY,EAAA;6CAAU,QAAA;IACtB,gBAAgB,EAAA;iDAAc,QAAA;IACrC,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,SAAS,EAAM;IACf,gBAAe;;;;;;;GAGT,UAAM,QAWH,CATJ,EAAA,SAAA,GAAA,EADR,EASE,GAAA;;IAPQ,MAAM,EAAA;uCAAY,QAAA;IACzB,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,SAAS,EAAM;IACf,uBAAqB,EAAM;IAC3B,gBAAgB,EAAA;IAChB,oBAAoB,EAAM;IAC1B,6BAA6B,EAAM"}
1
+ {"version":3,"file":"PlAnnotations.vue_vue_type_script_setup_true_lang.js","names":["$style"],"sources":["../../../../src/components/PlAnnotations/components/PlAnnotations.vue"],"sourcesContent":["<script lang=\"ts\">\nimport type { Props as BaseProps } from \"./FilterSidebar.vue\";\nexport type Props = BaseProps & {\n onDeleteSchema?: () => void;\n};\n</script>\n\n<script setup lang=\"ts\">\nimport { computed, effect, shallowRef } from \"vue\";\n\nimport { isNil } from \"@milaboratories/helpers\";\nimport { PlSidebarGroup, useConfirm } from \"@milaboratories/uikit\";\n\nimport type { Annotation } from \"../types\";\nimport AnnotationsSidebar from \"./AnnotationsSidebar.vue\";\nimport FilterSidebar from \"./FilterSidebar.vue\";\n\n// Models\nconst annotation = defineModel<Annotation>(\"annotation\", { required: true });\n// Props\nconst props = defineProps<Props>();\n// State\nconst selectedStepId = shallowRef<number | undefined>(undefined);\nconst selectedStep = computed(() => {\n return isNil(selectedStepId.value) || isNil(annotation.value)\n ? undefined\n : annotation.value.steps.find((step) => step.id === selectedStepId.value);\n});\n\n// Watchers\neffect(function setDefaultStepId() {\n if (selectedStepId.value === undefined && annotation.value.steps.length > 0) {\n selectedStepId.value = annotation.value.steps[0].id;\n }\n});\n// Hooks\nconst confirmResetSchema = useConfirm({\n title: \"Reset Schema\",\n message: \"Are you sure you want to reset the schema? This action cannot be undone.\",\n confirmLabel: \"Yes, reset\",\n cancelLabel: \"No, cancel\",\n});\n// Actions\nasync function handleDeleteSchema() {\n if (await confirmResetSchema()) {\n selectedStepId.value = undefined;\n props.onDeleteSchema?.();\n }\n}\n</script>\n\n<template>\n <PlSidebarGroup>\n <template #item-0>\n <AnnotationsSidebar\n v-model:annotation=\"annotation\"\n v-model:selectedStepId=\"selectedStepId\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n @delete-schema=\"handleDeleteSchema\"\n />\n </template>\n <template #item-1>\n <FilterSidebar\n v-if=\"selectedStep\"\n v-model:step=\"selectedStep\"\n :class=\"$style.sidebarItem\"\n :columns=\"props.columns\"\n :get-suggest-options=\"props.getSuggestOptions\"\n :selectedStepId=\"selectedStepId\"\n :hasSelectedColumns=\"props.hasSelectedColumns\"\n :getValuesForSelectedColumns=\"props.getValuesForSelectedColumns\"\n />\n </template>\n </PlSidebarGroup>\n</template>\n\n<style module>\n.sidebarItem {\n width: 100%;\n height: 100%;\n}\n</style>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;EAkBA,IAAM,IAAa,EAAuB,GAAC,aAAiC,EAEtE,IAAQ,GAER,IAAiB,EAA+B,KAAA,EAAU,EAC1D,IAAe,QACZ,EAAM,EAAe,MAAM,IAAI,EAAM,EAAW,MAAK,GACxD,KAAA,IACA,EAAW,MAAM,MAAM,MAAM,MAAS,EAAK,OAAO,EAAe,MAAM,CAC3E;AAGF,IAAO,WAA4B;AACjC,GAAI,EAAe,UAAU,KAAA,KAAa,EAAW,MAAM,MAAM,SAAS,MACxE,EAAe,QAAQ,EAAW,MAAM,MAAM,GAAG;IAEnD;EAEF,IAAM,IAAqB,EAAW;GACpC,OAAO;GACP,SAAS;GACT,cAAc;GACd,aAAa;GACd,CAAC;EAEF,eAAe,IAAqB;AAClC,GAAI,MAAM,GAAoB,KAC5B,EAAe,QAAQ,KAAA,GACvB,EAAM,kBAAkB;;yBAM1B,EAsBiB,EAAA,EAAA,EAAA,MAAA;GArBJ,UAAM,QAOb,CANF,EAME,GAAA;IALQ,YAAY,EAAA;6CAAU,QAAA;IACtB,gBAAgB,EAAA;iDAAc,QAAA;IACrC,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,SAAS,EAAM;IACf,gBAAe;;;;;;;GAGT,UAAM,QAUb,CARM,EAAA,SAAA,GAAA,EADR,EASE,GAAA;;IAPQ,MAAM,EAAA;uCAAY,QAAA;IACzB,OAAK,EAAEA,EAAAA,OAAO,YAAW;IACzB,SAAS,EAAM;IACf,uBAAqB,EAAM;IAC3B,gBAAgB,EAAA;IAChB,oBAAoB,EAAM;IAC1B,6BAA6B,EAAM"}
@@ -0,0 +1,9 @@
1
+ function e(e) {
2
+ return typeof e == "object" && !!e && Symbol.dispose in e && typeof e[Symbol.dispose] == "function";
3
+ }
4
+ function t(e) {
5
+ return typeof e == "object" && !!e && Symbol.asyncDispose in e && typeof e[Symbol.asyncDispose] == "function";
6
+ }
7
+ export { t as isAsyncDisposable, e as isDisposable };
8
+
9
+ //# sourceMappingURL=disposable.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disposable.js","names":[],"sources":["../../../../../../../lib/util/helpers/src/disposable.ts"],"sourcesContent":["export function isDisposable(object: unknown): object is Disposable {\n return (\n typeof object === \"object\" &&\n object !== null &&\n Symbol.dispose in object &&\n typeof object[Symbol.dispose] === \"function\"\n );\n}\n\nexport function isAsyncDisposable(object: unknown): object is AsyncDisposable {\n return (\n typeof object === \"object\" &&\n object !== null &&\n Symbol.asyncDispose in object &&\n typeof object[Symbol.asyncDispose] === \"function\"\n );\n}\n"],"mappings":"AAAA,SAAgB,EAAa,GAAuC;AAClE,QACE,OAAO,KAAW,cAClB,KACA,OAAO,WAAW,KAClB,OAAO,EAAO,OAAO,YAAa;;AAItC,SAAgB,EAAkB,GAA4C;AAC5E,QACE,OAAO,KAAW,cAClB,KACA,OAAO,gBAAgB,KACvB,OAAO,EAAO,OAAO,iBAAkB"}
@@ -7,3 +7,5 @@ import "./error.js";
7
7
  import "./uniqId.js";
8
8
  import "./hash.js";
9
9
  import "./random.js";
10
+ import "./disposable.js";
11
+ import "./ref_count_pool.js";
@@ -0,0 +1,4 @@
1
+ import "./disposable.js";
2
+ Symbol.dispose, Symbol.asyncDispose;
3
+
4
+ //# sourceMappingURL=ref_count_pool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ref_count_pool.js","names":[],"sources":["../../../../../../../lib/util/helpers/src/ref_count_pool.ts"],"sourcesContent":["import { isAsyncDisposable, isDisposable } from \"./disposable\";\n\n/**\n * Function associated with particular entry from the RefCountResourcePool.\n *\n * Calling the function will release the reference acquired when object was\n * received from the pool.\n */\nexport type UnrefFn = () => void;\n\nexport interface PoolEntry<K extends string = string, R extends {} = {}> extends Disposable {\n /** Resource key, calculated using provided `calculateParamsKey` function */\n readonly key: K;\n\n /** Resource itself created by `createNewResource` function */\n readonly resource: R;\n\n /** Callback to be called when requested resource can be disposed. */\n readonly unref: UnrefFn;\n}\n\n/**\n * Wraps a PoolEntry for use with `using`. Auto-calls `unref()` at end of scope\n * unless `keep()` is called to transfer ownership to the caller.\n */\nexport class PoolEntryGuard<K extends string = string, R extends {} = {}> implements Disposable {\n private kept = false;\n\n constructor(readonly entry: PoolEntry<K, R>) {}\n\n get key(): K {\n return this.entry.key;\n }\n\n get resource(): R {\n return this.entry.resource;\n }\n\n /** Disarm the guard — caller takes ownership of the entry. */\n keep(): PoolEntry<K, R> {\n this.kept = true;\n return this.entry;\n }\n\n [Symbol.dispose](): void {\n if (!this.kept) this.entry.unref();\n }\n}\n\ntype RefCountEnvelope<R> = {\n refCount: number;\n readonly resource: R;\n};\n\nexport interface RefCountPool<P, K extends string, R extends {}> {\n /** Acquire resource from the pool */\n acquire(params: P): PoolEntry<K, R>;\n\n /** Try to get a resource by key */\n tryGetByKey(key: K): R | undefined;\n\n /** Get a resource by key */\n getByKey(key: K): R;\n}\n\nexport abstract class RefCountPoolBase<P, K extends string, R extends {}>\n implements RefCountPool<P, K, R>, AsyncDisposable\n{\n private readonly resources = new Map<K, RefCountEnvelope<R>>();\n private readonly disposeQueue = Promise.resolve();\n\n private check(key: K) {\n const envelope = this.resources.get(key);\n if (envelope === undefined) throw new Error(\"Unexpected state.\");\n if (envelope.refCount === 0) {\n this.resources.delete(key);\n const resource = envelope.resource;\n\n if (isDisposable(resource)) {\n void this.disposeQueue.then(() => resource[Symbol.dispose]());\n } else if (isAsyncDisposable(resource)) {\n void this.disposeQueue.then(() => resource[Symbol.asyncDispose]());\n }\n }\n }\n\n protected abstract calculateParamsKey(params: P): K;\n protected abstract createNewResource(params: P, key: K): R;\n\n public acquire(params: P): PoolEntry<K, R> {\n const key = this.calculateParamsKey(params);\n let envelope = this.resources.get(key);\n if (envelope === undefined) {\n envelope = { refCount: 0, resource: this.createNewResource(params, key) };\n this.resources.set(key, envelope);\n }\n\n // adding ref count\n envelope.refCount++;\n\n let unreferenced = false;\n const unref = () => {\n if (unreferenced) return; // unref is idempotent, calling it many times have no effect\n unreferenced = true;\n // subtracting ref count\n envelope.refCount--;\n this.check(key);\n };\n return {\n resource: envelope.resource,\n key,\n unref,\n [Symbol.dispose]: unref,\n };\n }\n\n public tryGetByKey(key: K): R | undefined {\n return this.resources.get(key)?.resource;\n }\n\n public abstract getByKey(key: K): R;\n\n public async dispose(): Promise<void> {\n void (await Promise.allSettled(\n Array.from(this.resources.values()).map((envelope) => {\n const resource = envelope.resource;\n if (isDisposable(resource)) {\n return this.disposeQueue.then(() => resource[Symbol.dispose]());\n } else if (isAsyncDisposable(resource)) {\n return this.disposeQueue.then(() => resource[Symbol.asyncDispose]());\n }\n }),\n ));\n }\n\n public async [Symbol.asyncDispose](): Promise<void> {\n return await this.dispose();\n }\n}\n"],"mappings":";AA4CG,OAAO,SA2FM,OAAO"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platforma-sdk/ui-vue",
3
- "version": "1.63.0",
3
+ "version": "1.63.1",
4
4
  "type": "module",
5
5
  "main": "dist/index.js",
6
6
  "exports": {
@@ -25,10 +25,10 @@
25
25
  "lru-cache": "^11.2.2",
26
26
  "vue": "^3.5.24",
27
27
  "zod": "~3.23.8",
28
- "@milaboratories/pl-model-common": "1.31.0",
29
- "@milaboratories/uikit": "2.11.5",
30
- "@platforma-sdk/model": "1.63.0",
31
- "@milaboratories/pf-spec-driver": "1.2.2"
28
+ "@milaboratories/pl-model-common": "1.31.1",
29
+ "@milaboratories/pf-spec-driver": "1.2.3",
30
+ "@platforma-sdk/model": "1.63.1",
31
+ "@milaboratories/uikit": "2.11.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@faker-js/faker": "^9.2.0",
@@ -42,10 +42,10 @@
42
42
  "typescript": "~5.9.3",
43
43
  "vite": "8.0.0-beta.15",
44
44
  "vitest": "^4.0.18",
45
- "@milaboratories/helpers": "1.14.0",
45
+ "@milaboratories/build-configs": "1.5.2",
46
+ "@milaboratories/helpers": "1.14.1",
46
47
  "@milaboratories/ts-builder": "1.3.0",
47
- "@milaboratories/ts-configs": "1.2.2",
48
- "@milaboratories/build-configs": "1.5.2"
48
+ "@milaboratories/ts-configs": "1.2.2"
49
49
  },
50
50
  "scripts": {
51
51
  "dev": "ts-builder serve --target browser-lib",