@hf-chimera/vue 0.2.3 → 0.2.5
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.map +1 -1
- package/dist/index.d.cts +1 -1
- package/dist/index.d.cts.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +2 -2
package/dist/index.cjs.map
CHANGED
|
@@ -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
|
|
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,OAAO,CAAkB,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
|
|
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
|
package/dist/index.d.cts.map
CHANGED
|
@@ -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,
|
|
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,CAAA,EAWZ,gBAXY,CAWK,gBAXL,CAWsB,MAXtB,EAW8B,KAX9B,EAWqC,aAXrC,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
|
|
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
|
package/dist/index.d.mts.map
CHANGED
|
@@ -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,
|
|
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,CAAA,EAWZ,gBAXY,CAWK,gBAXL,CAWsB,MAXtB,EAW8B,KAX9B,EAWqC,aAXrC,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.mjs.map
CHANGED
|
@@ -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
|
|
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,OAAO,CAAkB,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.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "Cross-end reactivity API - Vue adapter",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "hewston",
|
|
@@ -37,7 +37,7 @@
|
|
|
37
37
|
"@hf-chimera/store": "~0.2.2"
|
|
38
38
|
},
|
|
39
39
|
"dependencies": {
|
|
40
|
-
"@hf-chimera/adapters-shared": "~0.2.
|
|
40
|
+
"@hf-chimera/adapters-shared": "~0.2.5"
|
|
41
41
|
},
|
|
42
42
|
"publishConfig": {
|
|
43
43
|
"access": "public",
|