@meeovi/layer-search 1.0.6 → 1.0.7
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/README.md +39 -5
- package/app/composables/bridges/searchkit-server.ts +51 -0
- package/app/composables/bridges/searchkit.ts +88 -0
- package/app/composables/index.ts +4 -1
- package/app/composables/module.ts +41 -0
- package/app/composables/utils/health.ts +13 -0
- package/app/plugins/search.js +1 -1
- package/app/utils/search/client.ts +40 -0
- package/dist/app/composables/adapter/meilisearch.d.ts +8 -0
- package/dist/app/composables/adapter/meilisearch.js +36 -0
- package/dist/app/composables/adapter/mock.d.ts +3 -0
- package/dist/app/composables/adapter/mock.js +19 -0
- package/dist/app/composables/adapter/opensearch.d.ts +8 -0
- package/dist/app/composables/adapter/opensearch.js +46 -0
- package/dist/app/composables/adapter/types.d.ts +12 -0
- package/dist/app/composables/adapter/types.js +1 -0
- package/dist/app/composables/bridges/instantsearch.d.ts +4 -0
- package/dist/app/composables/bridges/instantsearch.js +17 -0
- package/dist/app/composables/bridges/react.d.ts +12 -0
- package/dist/app/composables/bridges/react.js +34 -0
- package/dist/app/composables/bridges/vue.d.ts +9 -0
- package/dist/app/composables/bridges/vue.js +31 -0
- package/dist/app/composables/cli.d.ts +2 -0
- package/dist/app/composables/cli.js +69 -0
- package/dist/app/composables/config/schema.d.ts +5 -0
- package/dist/app/composables/config/schema.js +8 -0
- package/dist/app/composables/config.d.ts +7 -0
- package/dist/app/composables/config.js +11 -0
- package/dist/app/composables/core/Facets.d.ts +17 -0
- package/dist/app/composables/core/Facets.js +8 -0
- package/dist/app/composables/core/Filters.d.ts +18 -0
- package/dist/app/composables/core/Filters.js +11 -0
- package/dist/app/composables/core/Normalizers.d.ts +0 -0
- package/dist/app/composables/core/Normalizers.js +1 -0
- package/dist/app/composables/core/Pipeline.d.ts +8 -0
- package/dist/app/composables/core/Pipeline.js +16 -0
- package/dist/app/composables/core/QueryBuilder.d.ts +13 -0
- package/dist/app/composables/core/QueryBuilder.js +15 -0
- package/dist/app/composables/core/SearchContext.d.ts +18 -0
- package/dist/app/composables/core/SearchContext.js +38 -0
- package/dist/app/composables/core/SearchManager.d.ts +10 -0
- package/dist/app/composables/core/SearchManager.js +20 -0
- package/dist/app/composables/events.d.ts +11 -0
- package/dist/app/composables/events.js +1 -0
- package/dist/app/composables/index.d.ts +9 -0
- package/dist/app/composables/index.js +9 -0
- package/dist/app/composables/module.d.ts +17 -0
- package/dist/app/composables/module.js +39 -0
- package/dist/app/composables/types/api/global-search.d.ts +8 -0
- package/dist/app/composables/types/api/global-search.js +1 -0
- package/dist/app/composables/utils/normalizers.d.ts +1 -0
- package/dist/app/composables/utils/normalizers.js +6 -0
- package/dist/app/utils/search/client.d.ts +3 -0
- package/dist/app/utils/search/client.js +31 -0
- package/dist/layers/search/app/composables/adapter/meilisearch.d.ts +8 -0
- package/dist/layers/search/app/composables/adapter/meilisearch.js +36 -0
- package/dist/layers/search/app/composables/adapter/mock.d.ts +3 -0
- package/dist/layers/search/app/composables/adapter/mock.js +19 -0
- package/dist/layers/search/app/composables/adapter/opensearch.d.ts +8 -0
- package/dist/layers/search/app/composables/adapter/opensearch.js +46 -0
- package/dist/layers/search/app/composables/adapter/types.d.ts +12 -0
- package/dist/layers/search/app/composables/adapter/types.js +1 -0
- package/dist/layers/search/app/composables/bridges/instantsearch.d.ts +4 -0
- package/dist/layers/search/app/composables/bridges/instantsearch.js +17 -0
- package/dist/layers/search/app/composables/bridges/react.d.ts +12 -0
- package/dist/layers/search/app/composables/bridges/react.js +34 -0
- package/dist/layers/search/app/composables/bridges/searchkit-server.d.ts +3 -0
- package/dist/layers/search/app/composables/bridges/searchkit-server.js +44 -0
- package/dist/layers/search/app/composables/bridges/searchkit.d.ts +21 -0
- package/dist/layers/search/app/composables/bridges/searchkit.js +60 -0
- package/dist/layers/search/app/composables/bridges/vue.d.ts +9 -0
- package/dist/layers/search/app/composables/bridges/vue.js +31 -0
- package/dist/layers/search/app/composables/cli.d.ts +2 -0
- package/dist/layers/search/app/composables/cli.js +69 -0
- package/dist/layers/search/app/composables/config/schema.d.ts +5 -0
- package/dist/layers/search/app/composables/config/schema.js +8 -0
- package/dist/layers/search/app/composables/config.d.ts +7 -0
- package/dist/layers/search/app/composables/config.js +11 -0
- package/dist/layers/search/app/composables/core/Facets.d.ts +17 -0
- package/dist/layers/search/app/composables/core/Facets.js +8 -0
- package/dist/layers/search/app/composables/core/Filters.d.ts +18 -0
- package/dist/layers/search/app/composables/core/Filters.js +11 -0
- package/dist/layers/search/app/composables/core/Normalizers.d.ts +0 -0
- package/dist/layers/search/app/composables/core/Normalizers.js +1 -0
- package/dist/layers/search/app/composables/core/Pipeline.d.ts +8 -0
- package/dist/layers/search/app/composables/core/Pipeline.js +16 -0
- package/dist/layers/search/app/composables/core/QueryBuilder.d.ts +13 -0
- package/dist/layers/search/app/composables/core/QueryBuilder.js +15 -0
- package/dist/layers/search/app/composables/core/SearchContext.d.ts +18 -0
- package/dist/layers/search/app/composables/core/SearchContext.js +38 -0
- package/dist/layers/search/app/composables/core/SearchManager.d.ts +10 -0
- package/dist/layers/search/app/composables/core/SearchManager.js +20 -0
- package/dist/layers/search/app/composables/events.d.ts +11 -0
- package/dist/layers/search/app/composables/events.js +1 -0
- package/dist/layers/search/app/composables/index.d.ts +12 -0
- package/dist/layers/search/app/composables/index.js +12 -0
- package/dist/layers/search/app/composables/module.d.ts +17 -0
- package/dist/layers/search/app/composables/module.js +73 -0
- package/dist/layers/search/app/composables/types/api/global-search.d.ts +8 -0
- package/dist/layers/search/app/composables/types/api/global-search.js +1 -0
- package/dist/layers/search/app/composables/utils/health.d.ts +11 -0
- package/dist/layers/search/app/composables/utils/health.js +11 -0
- package/dist/layers/search/app/composables/utils/normalizers.d.ts +1 -0
- package/dist/layers/search/app/composables/utils/normalizers.js +6 -0
- package/dist/layers/search/app/utils/search/client.d.ts +3 -0
- package/dist/layers/search/app/utils/search/client.js +31 -0
- package/dist/layers/search/nuxt.config.d.ts +2 -0
- package/dist/layers/search/nuxt.config.js +7 -0
- package/dist/layers/search/test/runtime-adapter.spec.d.ts +1 -0
- package/dist/layers/search/test/runtime-adapter.spec.js +49 -0
- package/dist/nuxt.config.d.ts +2 -0
- package/dist/nuxt.config.js +7 -0
- package/dist/packages/core/src/adapters/auth.d.ts +9 -0
- package/dist/packages/core/src/adapters/auth.js +1 -0
- package/dist/packages/core/src/adapters/cart.d.ts +22 -0
- package/dist/packages/core/src/adapters/cart.js +1 -0
- package/dist/packages/core/src/adapters/catalog.d.ts +17 -0
- package/dist/packages/core/src/adapters/catalog.js +1 -0
- package/dist/packages/core/src/adapters/common.d.ts +9 -0
- package/dist/packages/core/src/adapters/common.js +1 -0
- package/dist/packages/core/src/adapters/lists.d.ts +17 -0
- package/dist/packages/core/src/adapters/lists.js +1 -0
- package/dist/packages/core/src/adapters/search.d.ts +21 -0
- package/dist/packages/core/src/adapters/search.js +1 -0
- package/dist/packages/core/src/plugins/defineAdapter.d.ts +2 -0
- package/dist/packages/core/src/plugins/defineAdapter.js +3 -0
- package/dist/packages/core/src/plugins/defineModule.d.ts +2 -0
- package/dist/packages/core/src/plugins/defineModule.js +3 -0
- package/dist/packages/core/src/plugins/registry.d.ts +14 -0
- package/dist/packages/core/src/plugins/registry.js +46 -0
- package/dist/packages/core/src/runtime/app.d.ts +2 -0
- package/dist/packages/core/src/runtime/app.js +20 -0
- package/dist/packages/core/src/runtime/context.d.ts +9 -0
- package/dist/packages/core/src/runtime/context.js +11 -0
- package/dist/packages/core/src/runtime/hooks.d.ts +5 -0
- package/dist/packages/core/src/runtime/hooks.js +18 -0
- package/dist/packages/core/src/runtime/lifecycle.d.ts +4 -0
- package/dist/packages/core/src/runtime/lifecycle.js +5 -0
- package/dist/packages/core/src/types/adapters.d.ts +14 -0
- package/dist/packages/core/src/types/adapters.js +1 -0
- package/dist/packages/core/src/types/app.d.ts +13 -0
- package/dist/packages/core/src/types/app.js +1 -0
- package/dist/packages/core/src/types/config.d.ts +8 -0
- package/dist/packages/core/src/types/config.js +1 -0
- package/dist/packages/core/src/types/events.d.ts +20 -0
- package/dist/packages/core/src/types/events.js +22 -0
- package/dist/packages/core/src/types/module.d.ts +15 -0
- package/dist/packages/core/src/types/module.js +1 -0
- package/package.json +9 -4
- package/test/runtime-adapter.spec.ts +61 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { createAlternateApp } from '../../../packages/core/src/runtime/app'
|
|
2
|
+
import { defineAlternateAdapter } from '../../../packages/core/src/plugins/defineAdapter'
|
|
3
|
+
import { defineAlternateModule } from '../../../packages/core/src/plugins/defineModule'
|
|
4
|
+
import { AlternateContext } from '../../../packages/core/src/runtime/context'
|
|
5
|
+
import { ModuleRegistry } from '../../../packages/core/src/plugins/registry'
|
|
6
|
+
import { createEventBus } from '../../../packages/core/src/types/events'
|
|
7
|
+
import { SearchManager } from '../app/composables/core/SearchManager'
|
|
8
|
+
import type { SearchAdapter, SearchResult } from '../../../packages/core/src/adapters/search'
|
|
9
|
+
|
|
10
|
+
// Minimal mock search adapter shape matching core types
|
|
11
|
+
const mockSearchAdapter = defineAlternateAdapter<SearchAdapter<any>>({
|
|
12
|
+
id: 'mock-search',
|
|
13
|
+
type: 'search',
|
|
14
|
+
async search(): Promise<SearchResult<any>> {
|
|
15
|
+
return { items: [], total: 0, page: 1, pageSize: 10 }
|
|
16
|
+
}
|
|
17
|
+
} as any)
|
|
18
|
+
|
|
19
|
+
// A tiny test runner substitute so this file can be executed with `ts-node` or similar.
|
|
20
|
+
async function run() {
|
|
21
|
+
// Build an app with no modules initially
|
|
22
|
+
const app = createAlternateApp({ config: { modules: [] } as any, modules: [] as any })
|
|
23
|
+
|
|
24
|
+
// Create event bus and registry manually to inspect behavior
|
|
25
|
+
const bus = createEventBus()
|
|
26
|
+
const registry = new ModuleRegistry(bus)
|
|
27
|
+
const ctx = new AlternateContext({} as any, registry)
|
|
28
|
+
|
|
29
|
+
// Register the search module implementation directly (import existing module)
|
|
30
|
+
const searchModule = require('../app/composables/module').default
|
|
31
|
+
registry.registerModule(searchModule, ctx)
|
|
32
|
+
|
|
33
|
+
// At this point no adapter is registered yet, so searchManager should be undefined
|
|
34
|
+
if ((ctx as any).searchManager) {
|
|
35
|
+
throw new Error('Expected searchManager to be undefined before adapter registration')
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Now register a module that provides the adapter
|
|
39
|
+
const providerModule = defineAlternateModule({
|
|
40
|
+
id: 'provider',
|
|
41
|
+
adapters: {
|
|
42
|
+
search: mockSearchAdapter
|
|
43
|
+
},
|
|
44
|
+
setup() {}
|
|
45
|
+
})
|
|
46
|
+
|
|
47
|
+
registry.registerModule(providerModule, ctx)
|
|
48
|
+
|
|
49
|
+
// After registration, registry should have emitted adapter:registered and search module
|
|
50
|
+
// should have created the SearchManager
|
|
51
|
+
if (!(ctx as any).searchManager) {
|
|
52
|
+
throw new Error('Expected searchManager to be initialized after adapter registration')
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
console.log('OK: searchManager initialized on adapter registration')
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
run().catch((err) => {
|
|
59
|
+
console.error(err)
|
|
60
|
+
process.exit(1)
|
|
61
|
+
})
|