@hf-chimera/vue 0.2.2 → 0.2.4

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 +1 @@
1
- {"version":3,"file":"index.cjs","names":["value","CHIMERA_ENTITY_STORE_UPDATE_EVENTS","CHIMERA_COLLECTION_UPDATE_EVENTS","CHIMERA_ITEM_UPDATE_EVENTS"],"sources":["../composables.ts"],"sourcesContent":["import {\n\ttype AnyChimeraParams,\n\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\tCHIMERA_ENTITY_STORE_UPDATE_EVENTS,\n\tCHIMERA_ITEM_UPDATE_EVENTS,\n\ttype ChimeraQueryBuilder,\n\tnormalizeParams,\n} from \"@hf-chimera/adapters-shared\";\nimport type {\n\tAnyChimeraEntityStore,\n\tAnyChimeraEventEmitter,\n\tChimeraCollectionQuery,\n\tChimeraEntityId,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreName,\n\tChimeraEntityStoreOperatorsMap,\n\tChimeraEventEmitterEventNames,\n\tChimeraItemQuery,\n} from \"@hf-chimera/store\";\nimport { computed, customRef, isRef, type Ref, watch } from \"vue\";\n\ntype MaybeRef<T> = T | Ref<T>;\ntype MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);\n\ntype ChimeraComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n\tTEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>,\n> = {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(\n\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, Extract<TQueryBuilder, ChimeraQueryBuilder<TStore>>>>,\n\t) => Ref<\n\t\tChimeraCollectionQuery<\n\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t>\n\t>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(\n\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>>;\n};\n\nconst isFunction = (value: any): value is () => any => typeof value === \"function\";\nconst toValue = <T>(value: MaybeRefOrGetter<T>): T =>\n\tisFunction(value) ? value() : isRef(value) ? value.value : value;\nconst capitalize = <T extends string>(s: T): Capitalize<T> =>\n\ts !== \"\" ? (((s[0] as string).toUpperCase() + s.slice(1)) as Capitalize<T>) : (\"\" as Capitalize<T>);\n\nconst createEmitterRef = <TEventEmitter extends AnyChimeraEventEmitter>(\n\tvalue: MaybeRefOrGetter<TEventEmitter>,\n\tevents: ChimeraEventEmitterEventNames<TEventEmitter>[],\n\tname: string,\n) =>\n\tcustomRef((track, trigger) => {\n\t\twatch(\n\t\t\tvalue,\n\t\t\t(value, _, onCleanup) => {\n\t\t\t\tconst actualValue = toValue(value);\n\n\t\t\t\tconst handler = () => trigger();\n\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\tactualValue.on(event, handler);\n\t\t\t\t});\n\t\t\t\tonCleanup(() =>\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tactualValue.off(event, handler);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t{ immediate: true },\n\t\t);\n\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn toValue(value);\n\t\t\t},\n\t\t\tset() {\n\t\t\t\tconsole.warn(`${name} ref is readonly`);\n\t\t\t},\n\t\t};\n\t});\n\nexport function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore>(\n\tstore: TStore,\n): ChimeraComposables<TStore, never>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder?: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder> {\n\treturn {\n\t\t[`useChimera${capitalize(store.name)}Store`]: () =>\n\t\t\tcreateEmitterRef(store, CHIMERA_ENTITY_STORE_UPDATE_EVENTS, \"ChimeraEntityStore\"),\n\t\t[`useChimera${capitalize(store.name)}Collection`]: <TMeta = any>(\n\t\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, Extract<TQueryBuilder, ChimeraQueryBuilder<TStore>>>>,\n\t\t): Ref<\n\t\t\tChimeraCollectionQuery<\n\t\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t\t>\n\t\t> => {\n\t\t\tconst normalizedParams = computed(() => normalizeParams(createQueryBuilder, toValue(params)));\n\t\t\treturn createEmitterRef(\n\t\t\t\tcomputed(() => store.getCollection(normalizedParams.value)),\n\t\t\t\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraCollectionQuery\",\n\t\t\t);\n\t\t},\n\t\t[`useChimera${capitalize(store.name)}Item`]: <TMeta = any>(\n\t\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t\t): Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> =>\n\t\t\tcreateEmitterRef(\n\t\t\t\tcomputed(() => store.getItem(toValue(id), toValue(meta))),\n\t\t\t\tCHIMERA_ITEM_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraItemQuery\",\n\t\t\t),\n\t} as ChimeraComposables<TStore, TQueryBuilder>;\n}\n"],"mappings":";;;;AA+CA,MAAM,cAAc,UAAmC,OAAO,UAAU;AACxE,MAAM,WAAc,UACnB,WAAW,MAAM,GAAG,OAAO,kBAAS,MAAM,GAAG,MAAM,QAAQ;AAC5D,MAAM,cAAgC,MACrC,MAAM,KAAQ,EAAE,GAAc,aAAa,GAAG,EAAE,MAAM,EAAE,GAAuB;AAEhF,MAAM,oBACL,OACA,QACA,6BAEW,OAAO,YAAY;AAC7B,gBACC,QACC,SAAO,GAAG,cAAc;EACxB,MAAM,cAAc,QAAQA,QAAM;EAElC,MAAM,gBAAgB,SAAS;AAC/B,SAAO,SAAS,UAAU;AACzB,eAAY,GAAG,OAAO,QAAQ;IAC7B;AACF,kBACC,OAAO,SAAS,UAAU;AACzB,eAAY,IAAI,OAAO,QAAQ;IAC9B,CACF;IAEF,EAAE,WAAW,MAAM,CACnB;AAED,QAAO;EACN,MAAM;AACL,UAAO;AACP,UAAO,QAAQ,MAAM;;EAEtB,MAAM;AACL,WAAQ,KAAK,GAAG,KAAK,kBAAkB;;EAExC;EACA;AASH,SAAgB,8BAGd,OAAe,oBAAqF;AACrG,QAAO;GACL,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,iBAAiB,OAAOC,gEAAoC,qBAAqB;GACjF,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,WAOI;GACJ,MAAM,4FAAkD,oBAAoB,QAAQ,OAAO,CAAC,CAAC;AAC7F,UAAO,yCACS,MAAM,cAAc,iBAAiB,MAAM,CAAC,EAC3DC,8DACA,yBACA;;GAED,aAAa,WAAW,MAAM,KAAK,CAAC,SACpC,IACA,SAEA,yCACgB,MAAM,QAAQ,QAAQ,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,EACzDC,wDACA,mBACA;EACF"}
1
+ {"version":3,"file":"index.cjs","names":["value","CHIMERA_ENTITY_STORE_UPDATE_EVENTS","CHIMERA_COLLECTION_UPDATE_EVENTS","CHIMERA_ITEM_UPDATE_EVENTS"],"sources":["../composables.ts"],"sourcesContent":["import {\n\ttype AnyChimeraParams,\n\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\tCHIMERA_ENTITY_STORE_UPDATE_EVENTS,\n\tCHIMERA_ITEM_UPDATE_EVENTS,\n\ttype ChimeraQueryBuilder,\n\tnormalizeParams,\n} from \"@hf-chimera/adapters-shared\";\nimport type {\n\tAnyChimeraEntityStore,\n\tAnyChimeraEventEmitter,\n\tChimeraCollectionQuery,\n\tChimeraEntityId,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreName,\n\tChimeraEntityStoreOperatorsMap,\n\tChimeraEventEmitterEventNames,\n\tChimeraItemQuery,\n} from \"@hf-chimera/store\";\nimport { computed, customRef, isRef, type Ref, watch } from \"vue\";\n\ntype MaybeRef<T> = T | Ref<T>;\ntype MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);\n\ntype ChimeraComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n\tTEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>,\n> = {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(\n\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, TQueryBuilder>>,\n\t) => Ref<\n\t\tChimeraCollectionQuery<\n\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t>\n\t>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(\n\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>>;\n};\n\nconst isFunction = (value: any): value is () => any => typeof value === \"function\";\nconst toValue = <T>(value: MaybeRefOrGetter<T>): T =>\n\tisFunction(value) ? value() : isRef(value) ? value.value : value;\nconst capitalize = <T extends string>(s: T): Capitalize<T> =>\n\ts !== \"\" ? (((s[0] as string).toUpperCase() + s.slice(1)) as Capitalize<T>) : (\"\" as Capitalize<T>);\n\nconst createEmitterRef = <TEventEmitter extends AnyChimeraEventEmitter>(\n\tvalue: MaybeRefOrGetter<TEventEmitter>,\n\tevents: ChimeraEventEmitterEventNames<TEventEmitter>[],\n\tname: string,\n) =>\n\tcustomRef((track, trigger) => {\n\t\twatch(\n\t\t\tvalue,\n\t\t\t(value, _, onCleanup) => {\n\t\t\t\tconst actualValue = toValue(value);\n\n\t\t\t\tconst handler = () => trigger();\n\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\tactualValue.on(event, handler);\n\t\t\t\t});\n\t\t\t\tonCleanup(() =>\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tactualValue.off(event, handler);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t{ immediate: true },\n\t\t);\n\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn toValue(value);\n\t\t\t},\n\t\t\tset() {\n\t\t\t\tconsole.warn(`${name} ref is readonly`);\n\t\t\t},\n\t\t};\n\t});\n\nexport function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore>(\n\tstore: TStore,\n): ChimeraComposables<TStore, never>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder?: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder> {\n\treturn {\n\t\t[`useChimera${capitalize(store.name)}Store`]: () =>\n\t\t\tcreateEmitterRef(store, CHIMERA_ENTITY_STORE_UPDATE_EVENTS, \"ChimeraEntityStore\"),\n\t\t[`useChimera${capitalize(store.name)}Collection`]: <TMeta = any>(\n\t\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, TQueryBuilder>>,\n\t\t): Ref<\n\t\t\tChimeraCollectionQuery<\n\t\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t\t>\n\t\t> => {\n\t\t\tconst normalizedParams = computed(() => normalizeParams(createQueryBuilder, toValue(params as TQueryBuilder)));\n\t\t\treturn createEmitterRef(\n\t\t\t\tcomputed(() => store.getCollection(normalizedParams.value)),\n\t\t\t\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraCollectionQuery\",\n\t\t\t);\n\t\t},\n\t\t[`useChimera${capitalize(store.name)}Item`]: <TMeta = any>(\n\t\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t\t): Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> =>\n\t\t\tcreateEmitterRef(\n\t\t\t\tcomputed(() => store.getItem(toValue(id), toValue(meta))),\n\t\t\t\tCHIMERA_ITEM_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraItemQuery\",\n\t\t\t),\n\t} as ChimeraComposables<TStore, TQueryBuilder>;\n}\n"],"mappings":";;;;AA+CA,MAAM,cAAc,UAAmC,OAAO,UAAU;AACxE,MAAM,WAAc,UACnB,WAAW,MAAM,GAAG,OAAO,kBAAS,MAAM,GAAG,MAAM,QAAQ;AAC5D,MAAM,cAAgC,MACrC,MAAM,KAAQ,EAAE,GAAc,aAAa,GAAG,EAAE,MAAM,EAAE,GAAuB;AAEhF,MAAM,oBACL,OACA,QACA,6BAEW,OAAO,YAAY;AAC7B,gBACC,QACC,SAAO,GAAG,cAAc;EACxB,MAAM,cAAc,QAAQA,QAAM;EAElC,MAAM,gBAAgB,SAAS;AAC/B,SAAO,SAAS,UAAU;AACzB,eAAY,GAAG,OAAO,QAAQ;IAC7B;AACF,kBACC,OAAO,SAAS,UAAU;AACzB,eAAY,IAAI,OAAO,QAAQ;IAC9B,CACF;IAEF,EAAE,WAAW,MAAM,CACnB;AAED,QAAO;EACN,MAAM;AACL,UAAO;AACP,UAAO,QAAQ,MAAM;;EAEtB,MAAM;AACL,WAAQ,KAAK,GAAG,KAAK,kBAAkB;;EAExC;EACA;AASH,SAAgB,8BAGd,OAAe,oBAAqF;AACrG,QAAO;GACL,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,iBAAiB,OAAOC,gEAAoC,qBAAqB;GACjF,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,WAOI;GACJ,MAAM,4FAAkD,oBAAoB,QAAQ,OAAwB,CAAC,CAAC;AAC9G,UAAO,yCACS,MAAM,cAAc,iBAAiB,MAAM,CAAC,EAC3DC,8DACA,yBACA;;GAED,aAAa,WAAW,MAAM,KAAK,CAAC,SACpC,IACA,SAEA,yCACgB,MAAM,QAAQ,QAAQ,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,EACzDC,wDACA,mBACA;EACF"}
package/dist/index.d.cts CHANGED
@@ -5,7 +5,7 @@ import { Ref } from "vue";
5
5
  //#region composables.d.ts
6
6
  type MaybeRef<T> = T | Ref<T>;
7
7
  type MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);
8
- type ChimeraComposables<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore>, TEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>> = { [K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore> } & { [K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(params: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, Extract<TQueryBuilder, ChimeraQueryBuilder<TStore>>>>) => Ref<ChimeraCollectionQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>, ChimeraEntityStoreOperatorsMap<TStore>>> } & { [K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(id: MaybeRefOrGetter<ChimeraEntityId>, meta?: MaybeRefOrGetter<TMeta>) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> };
8
+ type ChimeraComposables<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore>, TEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>> = { [K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore> } & { [K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(params: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, TQueryBuilder>>) => Ref<ChimeraCollectionQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>, ChimeraEntityStoreOperatorsMap<TStore>>> } & { [K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(id: MaybeRefOrGetter<ChimeraEntityId>, meta?: MaybeRefOrGetter<TMeta>) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> };
9
9
  declare function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore>(store: TStore): ChimeraComposables<TStore, never>;
10
10
  declare function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore>>(store: TStore, createQueryBuilder: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder>;
11
11
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../composables.ts"],"sourcesContent":[],"mappings":";;;;;KAqBK,cAAc,IAAI,IAAI;KACtB,sBAAsB,SAAS,YAAY;AAHkB,KAK7D,kBAHQ,CAAA,eAIG,qBAJH,EAAA,sBAKU,mBALV,CAK8B,MAL9B,CAAA,EAAA,oBAMQ,sBANR,CAM+B,MAN/B,CAAA,GAMyC,sBANzC,CAMgE,MANhE,CAAA,CAAA,GAAA,QAQN,WARY,IAAA,aAQgB,UARhB,CAQ2B,CAR3B,CAAA,OAAA,GAAA,GAAA,GAQ6C,GAR7C,CAQiD,MARjD,CAAA,EAAQ,GAAA,QAUpB,WAVgB,IAAA,aAUY,UAVZ,CAUuB,CAVvB,CAAA,YAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,MAAA,EAWb,gBAXa,CAWI,gBAXJ,CAWqB,MAXrB,EAW6B,KAX7B,EAWoC,OAXpC,CAW4C,aAX5C,EAW2D,mBAX3D,CAW+E,MAX/E,CAAA,CAAA,CAAA,CAAA,EAAA,GAYjB,GAZiB,CAarB,sBAbqB,CAcpB,sBAdoB,CAcG,MAdH,CAAA,EAepB,wBAfoB,CAeK,MAfL,CAAA,EAgBpB,8BAhBoB,CAgBW,MAhBX,CAAA,CAAA,CAAA,EAAG,GAAA,QAoBnB,WAnBF,IAAgB,aAmBc,UAnBd,CAmByB,CAnBzB,CAAA,MAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,EAoBf,gBApBe,CAoBE,eApBF,CAAA,EAAA,IAAA,CAAA,EAqBZ,gBArBY,CAqBK,KArBL,CAAA,EAAA,GAsBf,GAtBe,CAsBX,gBAtBW,CAsBM,sBAtBN,CAsB6B,MAtB7B,CAAA,EAsBsC,wBAtBtC,CAsB+D,MAtB/D,CAAA,CAAA,CAAA,EAAe;AAAT,iBAkEX,6BAlEW,CAAA,eAkEkC,qBAlElC,CAAA,CAAA,KAAA,EAmEnB,MAnEmB,CAAA,EAoExB,kBApEwB,CAoEL,MApEK,EAAA,KAAA,CAAA;AAAqB,iBAqEhC,6BArEgC,CAAA,eAsEhC,qBAtEgC,EAAA,sBAuEzB,mBAvEyB,CAuEL,MAvEK,CAAA,CAAA,CAAA,KAAA,EAwEvC,MAxEuC,EAAA,kBAAA,EAAA,GAAA,GAwEL,aAxEK,CAAA,EAwEW,kBAxEX,CAwE8B,MAxE9B,EAwEsC,aAxEtC,CAAA"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../composables.ts"],"sourcesContent":[],"mappings":";;;;;KAqBK,cAAc,IAAI,IAAI;KACtB,sBAAsB,SAAS,YAAY;AAHkB,KAK7D,kBAHQ,CAAA,eAIG,qBAJH,EAAA,sBAKU,mBALV,CAK8B,MAL9B,CAAA,EAAA,oBAMQ,sBANR,CAM+B,MAN/B,CAAA,GAMyC,sBANzC,CAMgE,MANhE,CAAA,CAAA,GAAA,QAQN,WARY,IAAA,aAQgB,UARhB,CAQ2B,CAR3B,CAAA,OAAA,GAAA,GAAA,GAQ6C,GAR7C,CAQiD,MARjD,CAAA,EAAQ,GAAA,QAUpB,WAVgB,IAAA,aAUY,UAVZ,CAUuB,CAVvB,CAAA,YAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,MAAA,EAWb,gBAXa,CAWI,gBAXJ,CAWqB,MAXrB,EAW6B,KAX7B,EAWoC,aAXpC,CAAA,CAAA,EAAA,GAYjB,GAZiB,CAarB,sBAbqB,CAcpB,sBAdoB,CAcG,MAdH,CAAA,EAepB,wBAfoB,CAeK,MAfL,CAAA,EAgBpB,8BAhBoB,CAgBW,MAhBX,CAAA,CAAA,CAAA,EAAG,GAAA,QAoBnB,WAnBF,IAAgB,aAmBc,UAnBd,CAmByB,CAnBzB,CAAA,MAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,EAoBf,gBApBe,CAoBE,eApBF,CAAA,EAAA,IAAA,CAAA,EAqBZ,gBArBY,CAqBK,KArBL,CAAA,EAAA,GAsBf,GAtBe,CAsBX,gBAtBW,CAsBM,sBAtBN,CAsB6B,MAtB7B,CAAA,EAsBsC,wBAtBtC,CAsB+D,MAtB/D,CAAA,CAAA,CAAA,EAAe;AAAT,iBAkEX,6BAlEW,CAAA,eAkEkC,qBAlElC,CAAA,CAAA,KAAA,EAmEnB,MAnEmB,CAAA,EAoExB,kBApEwB,CAoEL,MApEK,EAAA,KAAA,CAAA;AAAqB,iBAqEhC,6BArEgC,CAAA,eAsEhC,qBAtEgC,EAAA,sBAuEzB,mBAvEyB,CAuEL,MAvEK,CAAA,CAAA,CAAA,KAAA,EAwEvC,MAxEuC,EAAA,kBAAA,EAAA,GAAA,GAwEL,aAxEK,CAAA,EAwEW,kBAxEX,CAwE8B,MAxE9B,EAwEsC,aAxEtC,CAAA"}
package/dist/index.d.mts CHANGED
@@ -5,7 +5,7 @@ import { AnyChimeraEntityStore, ChimeraCollectionQuery, ChimeraEntityId, Chimera
5
5
  //#region composables.d.ts
6
6
  type MaybeRef<T> = T | Ref<T>;
7
7
  type MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);
8
- type ChimeraComposables<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore>, TEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>> = { [K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore> } & { [K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(params: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, Extract<TQueryBuilder, ChimeraQueryBuilder<TStore>>>>) => Ref<ChimeraCollectionQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>, ChimeraEntityStoreOperatorsMap<TStore>>> } & { [K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(id: MaybeRefOrGetter<ChimeraEntityId>, meta?: MaybeRefOrGetter<TMeta>) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> };
8
+ type ChimeraComposables<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore>, TEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>> = { [K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore> } & { [K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(params: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, TQueryBuilder>>) => Ref<ChimeraCollectionQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>, ChimeraEntityStoreOperatorsMap<TStore>>> } & { [K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(id: MaybeRefOrGetter<ChimeraEntityId>, meta?: MaybeRefOrGetter<TMeta>) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> };
9
9
  declare function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore>(store: TStore): ChimeraComposables<TStore, never>;
10
10
  declare function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore, TQueryBuilder extends ChimeraQueryBuilder<TStore>>(store: TStore, createQueryBuilder: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder>;
11
11
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../composables.ts"],"sourcesContent":[],"mappings":";;;;;KAqBK,cAAc,IAAI,IAAI;KACtB,sBAAsB,SAAS,YAAY;AAHkB,KAK7D,kBAHQ,CAAA,eAIG,qBAJH,EAAA,sBAKU,mBALV,CAK8B,MAL9B,CAAA,EAAA,oBAMQ,sBANR,CAM+B,MAN/B,CAAA,GAMyC,sBANzC,CAMgE,MANhE,CAAA,CAAA,GAAA,QAQN,WARY,IAAA,aAQgB,UARhB,CAQ2B,CAR3B,CAAA,OAAA,GAAA,GAAA,GAQ6C,GAR7C,CAQiD,MARjD,CAAA,EAAQ,GAAA,QAUpB,WAVgB,IAAA,aAUY,UAVZ,CAUuB,CAVvB,CAAA,YAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,MAAA,EAWb,gBAXa,CAWI,gBAXJ,CAWqB,MAXrB,EAW6B,KAX7B,EAWoC,OAXpC,CAW4C,aAX5C,EAW2D,mBAX3D,CAW+E,MAX/E,CAAA,CAAA,CAAA,CAAA,EAAA,GAYjB,GAZiB,CAarB,sBAbqB,CAcpB,sBAdoB,CAcG,MAdH,CAAA,EAepB,wBAfoB,CAeK,MAfL,CAAA,EAgBpB,8BAhBoB,CAgBW,MAhBX,CAAA,CAAA,CAAA,EAAG,GAAA,QAoBnB,WAnBF,IAAgB,aAmBc,UAnBd,CAmByB,CAnBzB,CAAA,MAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,EAoBf,gBApBe,CAoBE,eApBF,CAAA,EAAA,IAAA,CAAA,EAqBZ,gBArBY,CAqBK,KArBL,CAAA,EAAA,GAsBf,GAtBe,CAsBX,gBAtBW,CAsBM,sBAtBN,CAsB6B,MAtB7B,CAAA,EAsBsC,wBAtBtC,CAsB+D,MAtB/D,CAAA,CAAA,CAAA,EAAe;AAAT,iBAkEX,6BAlEW,CAAA,eAkEkC,qBAlElC,CAAA,CAAA,KAAA,EAmEnB,MAnEmB,CAAA,EAoExB,kBApEwB,CAoEL,MApEK,EAAA,KAAA,CAAA;AAAqB,iBAqEhC,6BArEgC,CAAA,eAsEhC,qBAtEgC,EAAA,sBAuEzB,mBAvEyB,CAuEL,MAvEK,CAAA,CAAA,CAAA,KAAA,EAwEvC,MAxEuC,EAAA,kBAAA,EAAA,GAAA,GAwEL,aAxEK,CAAA,EAwEW,kBAxEX,CAwE8B,MAxE9B,EAwEsC,aAxEtC,CAAA"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../composables.ts"],"sourcesContent":[],"mappings":";;;;;KAqBK,cAAc,IAAI,IAAI;KACtB,sBAAsB,SAAS,YAAY;AAHkB,KAK7D,kBAHQ,CAAA,eAIG,qBAJH,EAAA,sBAKU,mBALV,CAK8B,MAL9B,CAAA,EAAA,oBAMQ,sBANR,CAM+B,MAN/B,CAAA,GAMyC,sBANzC,CAMgE,MANhE,CAAA,CAAA,GAAA,QAQN,WARY,IAAA,aAQgB,UARhB,CAQ2B,CAR3B,CAAA,OAAA,GAAA,GAAA,GAQ6C,GAR7C,CAQiD,MARjD,CAAA,EAAQ,GAAA,QAUpB,WAVgB,IAAA,aAUY,UAVZ,CAUuB,CAVvB,CAAA,YAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,MAAA,EAWb,gBAXa,CAWI,gBAXJ,CAWqB,MAXrB,EAW6B,KAX7B,EAWoC,aAXpC,CAAA,CAAA,EAAA,GAYjB,GAZiB,CAarB,sBAbqB,CAcpB,sBAdoB,CAcG,MAdH,CAAA,EAepB,wBAfoB,CAeK,MAfL,CAAA,EAgBpB,8BAhBoB,CAgBW,MAhBX,CAAA,CAAA,CAAA,EAAG,GAAA,QAoBnB,WAnBF,IAAgB,aAmBc,UAnBd,CAmByB,CAnBzB,CAAA,MAAA,GAAA,CAAA,QAAA,GAAA,CAAA,CAAA,EAAA,EAoBf,gBApBe,CAoBE,eApBF,CAAA,EAAA,IAAA,CAAA,EAqBZ,gBArBY,CAqBK,KArBL,CAAA,EAAA,GAsBf,GAtBe,CAsBX,gBAtBW,CAsBM,sBAtBN,CAsB6B,MAtB7B,CAAA,EAsBsC,wBAtBtC,CAsB+D,MAtB/D,CAAA,CAAA,CAAA,EAAe;AAAT,iBAkEX,6BAlEW,CAAA,eAkEkC,qBAlElC,CAAA,CAAA,KAAA,EAmEnB,MAnEmB,CAAA,EAoExB,kBApEwB,CAoEL,MApEK,EAAA,KAAA,CAAA;AAAqB,iBAqEhC,6BArEgC,CAAA,eAsEhC,qBAtEgC,EAAA,sBAuEzB,mBAvEyB,CAuEL,MAvEK,CAAA,CAAA,CAAA,KAAA,EAwEvC,MAxEuC,EAAA,kBAAA,EAAA,GAAA,GAwEL,aAxEK,CAAA,EAwEW,kBAxEX,CAwE8B,MAxE9B,EAwEsC,aAxEtC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["value"],"sources":["../composables.ts"],"sourcesContent":["import {\n\ttype AnyChimeraParams,\n\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\tCHIMERA_ENTITY_STORE_UPDATE_EVENTS,\n\tCHIMERA_ITEM_UPDATE_EVENTS,\n\ttype ChimeraQueryBuilder,\n\tnormalizeParams,\n} from \"@hf-chimera/adapters-shared\";\nimport type {\n\tAnyChimeraEntityStore,\n\tAnyChimeraEventEmitter,\n\tChimeraCollectionQuery,\n\tChimeraEntityId,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreName,\n\tChimeraEntityStoreOperatorsMap,\n\tChimeraEventEmitterEventNames,\n\tChimeraItemQuery,\n} from \"@hf-chimera/store\";\nimport { computed, customRef, isRef, type Ref, watch } from \"vue\";\n\ntype MaybeRef<T> = T | Ref<T>;\ntype MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);\n\ntype ChimeraComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n\tTEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>,\n> = {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(\n\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, Extract<TQueryBuilder, ChimeraQueryBuilder<TStore>>>>,\n\t) => Ref<\n\t\tChimeraCollectionQuery<\n\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t>\n\t>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(\n\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>>;\n};\n\nconst isFunction = (value: any): value is () => any => typeof value === \"function\";\nconst toValue = <T>(value: MaybeRefOrGetter<T>): T =>\n\tisFunction(value) ? value() : isRef(value) ? value.value : value;\nconst capitalize = <T extends string>(s: T): Capitalize<T> =>\n\ts !== \"\" ? (((s[0] as string).toUpperCase() + s.slice(1)) as Capitalize<T>) : (\"\" as Capitalize<T>);\n\nconst createEmitterRef = <TEventEmitter extends AnyChimeraEventEmitter>(\n\tvalue: MaybeRefOrGetter<TEventEmitter>,\n\tevents: ChimeraEventEmitterEventNames<TEventEmitter>[],\n\tname: string,\n) =>\n\tcustomRef((track, trigger) => {\n\t\twatch(\n\t\t\tvalue,\n\t\t\t(value, _, onCleanup) => {\n\t\t\t\tconst actualValue = toValue(value);\n\n\t\t\t\tconst handler = () => trigger();\n\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\tactualValue.on(event, handler);\n\t\t\t\t});\n\t\t\t\tonCleanup(() =>\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tactualValue.off(event, handler);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t{ immediate: true },\n\t\t);\n\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn toValue(value);\n\t\t\t},\n\t\t\tset() {\n\t\t\t\tconsole.warn(`${name} ref is readonly`);\n\t\t\t},\n\t\t};\n\t});\n\nexport function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore>(\n\tstore: TStore,\n): ChimeraComposables<TStore, never>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder?: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder> {\n\treturn {\n\t\t[`useChimera${capitalize(store.name)}Store`]: () =>\n\t\t\tcreateEmitterRef(store, CHIMERA_ENTITY_STORE_UPDATE_EVENTS, \"ChimeraEntityStore\"),\n\t\t[`useChimera${capitalize(store.name)}Collection`]: <TMeta = any>(\n\t\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, Extract<TQueryBuilder, ChimeraQueryBuilder<TStore>>>>,\n\t\t): Ref<\n\t\t\tChimeraCollectionQuery<\n\t\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t\t>\n\t\t> => {\n\t\t\tconst normalizedParams = computed(() => normalizeParams(createQueryBuilder, toValue(params)));\n\t\t\treturn createEmitterRef(\n\t\t\t\tcomputed(() => store.getCollection(normalizedParams.value)),\n\t\t\t\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraCollectionQuery\",\n\t\t\t);\n\t\t},\n\t\t[`useChimera${capitalize(store.name)}Item`]: <TMeta = any>(\n\t\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t\t): Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> =>\n\t\t\tcreateEmitterRef(\n\t\t\t\tcomputed(() => store.getItem(toValue(id), toValue(meta))),\n\t\t\t\tCHIMERA_ITEM_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraItemQuery\",\n\t\t\t),\n\t} as ChimeraComposables<TStore, TQueryBuilder>;\n}\n"],"mappings":";;;;AA+CA,MAAM,cAAc,UAAmC,OAAO,UAAU;AACxE,MAAM,WAAc,UACnB,WAAW,MAAM,GAAG,OAAO,GAAG,MAAM,MAAM,GAAG,MAAM,QAAQ;AAC5D,MAAM,cAAgC,MACrC,MAAM,KAAQ,EAAE,GAAc,aAAa,GAAG,EAAE,MAAM,EAAE,GAAuB;AAEhF,MAAM,oBACL,OACA,QACA,SAEA,WAAW,OAAO,YAAY;AAC7B,OACC,QACC,SAAO,GAAG,cAAc;EACxB,MAAM,cAAc,QAAQA,QAAM;EAElC,MAAM,gBAAgB,SAAS;AAC/B,SAAO,SAAS,UAAU;AACzB,eAAY,GAAG,OAAO,QAAQ;IAC7B;AACF,kBACC,OAAO,SAAS,UAAU;AACzB,eAAY,IAAI,OAAO,QAAQ;IAC9B,CACF;IAEF,EAAE,WAAW,MAAM,CACnB;AAED,QAAO;EACN,MAAM;AACL,UAAO;AACP,UAAO,QAAQ,MAAM;;EAEtB,MAAM;AACL,WAAQ,KAAK,GAAG,KAAK,kBAAkB;;EAExC;EACA;AASH,SAAgB,8BAGd,OAAe,oBAAqF;AACrG,QAAO;GACL,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,iBAAiB,OAAO,oCAAoC,qBAAqB;GACjF,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,WAOI;GACJ,MAAM,mBAAmB,eAAe,gBAAgB,oBAAoB,QAAQ,OAAO,CAAC,CAAC;AAC7F,UAAO,iBACN,eAAe,MAAM,cAAc,iBAAiB,MAAM,CAAC,EAC3D,kCACA,yBACA;;GAED,aAAa,WAAW,MAAM,KAAK,CAAC,SACpC,IACA,SAEA,iBACC,eAAe,MAAM,QAAQ,QAAQ,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,EACzD,4BACA,mBACA;EACF"}
1
+ {"version":3,"file":"index.mjs","names":["value"],"sources":["../composables.ts"],"sourcesContent":["import {\n\ttype AnyChimeraParams,\n\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\tCHIMERA_ENTITY_STORE_UPDATE_EVENTS,\n\tCHIMERA_ITEM_UPDATE_EVENTS,\n\ttype ChimeraQueryBuilder,\n\tnormalizeParams,\n} from \"@hf-chimera/adapters-shared\";\nimport type {\n\tAnyChimeraEntityStore,\n\tAnyChimeraEventEmitter,\n\tChimeraCollectionQuery,\n\tChimeraEntityId,\n\tChimeraEntityStoreEntity,\n\tChimeraEntityStoreName,\n\tChimeraEntityStoreOperatorsMap,\n\tChimeraEventEmitterEventNames,\n\tChimeraItemQuery,\n} from \"@hf-chimera/store\";\nimport { computed, customRef, isRef, type Ref, watch } from \"vue\";\n\ntype MaybeRef<T> = T | Ref<T>;\ntype MaybeRefOrGetter<T> = MaybeRef<T> | (() => T);\n\ntype ChimeraComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n\tTEntityName extends ChimeraEntityStoreName<TStore> = ChimeraEntityStoreName<TStore>,\n> = {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Store`]: () => Ref<TStore>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Collection`]: <TMeta = any>(\n\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, TQueryBuilder>>,\n\t) => Ref<\n\t\tChimeraCollectionQuery<\n\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t>\n\t>;\n} & {\n\t[K in TEntityName as `useChimera${Capitalize<K>}Item`]: <TMeta = any>(\n\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t) => Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>>;\n};\n\nconst isFunction = (value: any): value is () => any => typeof value === \"function\";\nconst toValue = <T>(value: MaybeRefOrGetter<T>): T =>\n\tisFunction(value) ? value() : isRef(value) ? value.value : value;\nconst capitalize = <T extends string>(s: T): Capitalize<T> =>\n\ts !== \"\" ? (((s[0] as string).toUpperCase() + s.slice(1)) as Capitalize<T>) : (\"\" as Capitalize<T>);\n\nconst createEmitterRef = <TEventEmitter extends AnyChimeraEventEmitter>(\n\tvalue: MaybeRefOrGetter<TEventEmitter>,\n\tevents: ChimeraEventEmitterEventNames<TEventEmitter>[],\n\tname: string,\n) =>\n\tcustomRef((track, trigger) => {\n\t\twatch(\n\t\t\tvalue,\n\t\t\t(value, _, onCleanup) => {\n\t\t\t\tconst actualValue = toValue(value);\n\n\t\t\t\tconst handler = () => trigger();\n\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\tactualValue.on(event, handler);\n\t\t\t\t});\n\t\t\t\tonCleanup(() =>\n\t\t\t\t\tevents.forEach((event) => {\n\t\t\t\t\t\tactualValue.off(event, handler);\n\t\t\t\t\t}),\n\t\t\t\t);\n\t\t\t},\n\t\t\t{ immediate: true },\n\t\t);\n\n\t\treturn {\n\t\t\tget() {\n\t\t\t\ttrack();\n\t\t\t\treturn toValue(value);\n\t\t\t},\n\t\t\tset() {\n\t\t\t\tconsole.warn(`${name} ref is readonly`);\n\t\t\t},\n\t\t};\n\t});\n\nexport function createChimeraStoreComposables<TStore extends AnyChimeraEntityStore>(\n\tstore: TStore,\n): ChimeraComposables<TStore, never>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder>;\nexport function createChimeraStoreComposables<\n\tTStore extends AnyChimeraEntityStore,\n\tTQueryBuilder extends ChimeraQueryBuilder<TStore>,\n>(store: TStore, createQueryBuilder?: () => TQueryBuilder): ChimeraComposables<TStore, TQueryBuilder> {\n\treturn {\n\t\t[`useChimera${capitalize(store.name)}Store`]: () =>\n\t\t\tcreateEmitterRef(store, CHIMERA_ENTITY_STORE_UPDATE_EVENTS, \"ChimeraEntityStore\"),\n\t\t[`useChimera${capitalize(store.name)}Collection`]: <TMeta = any>(\n\t\t\tparams: MaybeRefOrGetter<AnyChimeraParams<TStore, TMeta, TQueryBuilder>>,\n\t\t): Ref<\n\t\t\tChimeraCollectionQuery<\n\t\t\t\tChimeraEntityStoreName<TStore>,\n\t\t\t\tChimeraEntityStoreEntity<TStore>,\n\t\t\t\tChimeraEntityStoreOperatorsMap<TStore>\n\t\t\t>\n\t\t> => {\n\t\t\tconst normalizedParams = computed(() => normalizeParams(createQueryBuilder, toValue(params as TQueryBuilder)));\n\t\t\treturn createEmitterRef(\n\t\t\t\tcomputed(() => store.getCollection(normalizedParams.value)),\n\t\t\t\tCHIMERA_COLLECTION_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraCollectionQuery\",\n\t\t\t);\n\t\t},\n\t\t[`useChimera${capitalize(store.name)}Item`]: <TMeta = any>(\n\t\t\tid: MaybeRefOrGetter<ChimeraEntityId>,\n\t\t\tmeta?: MaybeRefOrGetter<TMeta>,\n\t\t): Ref<ChimeraItemQuery<ChimeraEntityStoreName<TStore>, ChimeraEntityStoreEntity<TStore>>> =>\n\t\t\tcreateEmitterRef(\n\t\t\t\tcomputed(() => store.getItem(toValue(id), toValue(meta))),\n\t\t\t\tCHIMERA_ITEM_UPDATE_EVENTS,\n\t\t\t\t\"ChimeraItemQuery\",\n\t\t\t),\n\t} as ChimeraComposables<TStore, TQueryBuilder>;\n}\n"],"mappings":";;;;AA+CA,MAAM,cAAc,UAAmC,OAAO,UAAU;AACxE,MAAM,WAAc,UACnB,WAAW,MAAM,GAAG,OAAO,GAAG,MAAM,MAAM,GAAG,MAAM,QAAQ;AAC5D,MAAM,cAAgC,MACrC,MAAM,KAAQ,EAAE,GAAc,aAAa,GAAG,EAAE,MAAM,EAAE,GAAuB;AAEhF,MAAM,oBACL,OACA,QACA,SAEA,WAAW,OAAO,YAAY;AAC7B,OACC,QACC,SAAO,GAAG,cAAc;EACxB,MAAM,cAAc,QAAQA,QAAM;EAElC,MAAM,gBAAgB,SAAS;AAC/B,SAAO,SAAS,UAAU;AACzB,eAAY,GAAG,OAAO,QAAQ;IAC7B;AACF,kBACC,OAAO,SAAS,UAAU;AACzB,eAAY,IAAI,OAAO,QAAQ;IAC9B,CACF;IAEF,EAAE,WAAW,MAAM,CACnB;AAED,QAAO;EACN,MAAM;AACL,UAAO;AACP,UAAO,QAAQ,MAAM;;EAEtB,MAAM;AACL,WAAQ,KAAK,GAAG,KAAK,kBAAkB;;EAExC;EACA;AASH,SAAgB,8BAGd,OAAe,oBAAqF;AACrG,QAAO;GACL,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,iBAAiB,OAAO,oCAAoC,qBAAqB;GACjF,aAAa,WAAW,MAAM,KAAK,CAAC,eACpC,WAOI;GACJ,MAAM,mBAAmB,eAAe,gBAAgB,oBAAoB,QAAQ,OAAwB,CAAC,CAAC;AAC9G,UAAO,iBACN,eAAe,MAAM,cAAc,iBAAiB,MAAM,CAAC,EAC3D,kCACA,yBACA;;GAED,aAAa,WAAW,MAAM,KAAK,CAAC,SACpC,IACA,SAEA,iBACC,eAAe,MAAM,QAAQ,QAAQ,GAAG,EAAE,QAAQ,KAAK,CAAC,CAAC,EACzD,4BACA,mBACA;EACF"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hf-chimera/vue",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "description": "Cross-end reactivity API - Vue adapter",
5
5
  "license": "MIT",
6
6
  "author": "hewston",
@@ -13,14 +13,14 @@
13
13
  "state-management"
14
14
  ],
15
15
  "type": "module",
16
- "types": "./dist/index.d.ts",
16
+ "types": "./dist/index.d.mts",
17
17
  "main": "./dist/index.cjs",
18
- "module": "./dist/index.js",
18
+ "module": "./dist/index.mjs",
19
19
  "exports": {
20
20
  ".": {
21
- "types": "./dist/index.d.ts",
21
+ "types": "./dist/index.d.mts",
22
22
  "require": "./dist/index.cjs",
23
- "import": "./dist/index.js"
23
+ "import": "./dist/index.mjs"
24
24
  }
25
25
  },
26
26
  "files": [
@@ -34,10 +34,10 @@
34
34
  },
35
35
  "peerDependencies": {
36
36
  "vue": ">=3.0.0",
37
- "@hf-chimera/store": "~0.2.0"
37
+ "@hf-chimera/store": "~0.2.2"
38
38
  },
39
39
  "dependencies": {
40
- "@hf-chimera/adapters-shared": "~0.2.2"
40
+ "@hf-chimera/adapters-shared": "~0.2.4"
41
41
  },
42
42
  "publishConfig": {
43
43
  "access": "public",