@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.
Files changed (150) hide show
  1. package/README.md +39 -5
  2. package/app/composables/bridges/searchkit-server.ts +51 -0
  3. package/app/composables/bridges/searchkit.ts +88 -0
  4. package/app/composables/index.ts +4 -1
  5. package/app/composables/module.ts +41 -0
  6. package/app/composables/utils/health.ts +13 -0
  7. package/app/plugins/search.js +1 -1
  8. package/app/utils/search/client.ts +40 -0
  9. package/dist/app/composables/adapter/meilisearch.d.ts +8 -0
  10. package/dist/app/composables/adapter/meilisearch.js +36 -0
  11. package/dist/app/composables/adapter/mock.d.ts +3 -0
  12. package/dist/app/composables/adapter/mock.js +19 -0
  13. package/dist/app/composables/adapter/opensearch.d.ts +8 -0
  14. package/dist/app/composables/adapter/opensearch.js +46 -0
  15. package/dist/app/composables/adapter/types.d.ts +12 -0
  16. package/dist/app/composables/adapter/types.js +1 -0
  17. package/dist/app/composables/bridges/instantsearch.d.ts +4 -0
  18. package/dist/app/composables/bridges/instantsearch.js +17 -0
  19. package/dist/app/composables/bridges/react.d.ts +12 -0
  20. package/dist/app/composables/bridges/react.js +34 -0
  21. package/dist/app/composables/bridges/vue.d.ts +9 -0
  22. package/dist/app/composables/bridges/vue.js +31 -0
  23. package/dist/app/composables/cli.d.ts +2 -0
  24. package/dist/app/composables/cli.js +69 -0
  25. package/dist/app/composables/config/schema.d.ts +5 -0
  26. package/dist/app/composables/config/schema.js +8 -0
  27. package/dist/app/composables/config.d.ts +7 -0
  28. package/dist/app/composables/config.js +11 -0
  29. package/dist/app/composables/core/Facets.d.ts +17 -0
  30. package/dist/app/composables/core/Facets.js +8 -0
  31. package/dist/app/composables/core/Filters.d.ts +18 -0
  32. package/dist/app/composables/core/Filters.js +11 -0
  33. package/dist/app/composables/core/Normalizers.d.ts +0 -0
  34. package/dist/app/composables/core/Normalizers.js +1 -0
  35. package/dist/app/composables/core/Pipeline.d.ts +8 -0
  36. package/dist/app/composables/core/Pipeline.js +16 -0
  37. package/dist/app/composables/core/QueryBuilder.d.ts +13 -0
  38. package/dist/app/composables/core/QueryBuilder.js +15 -0
  39. package/dist/app/composables/core/SearchContext.d.ts +18 -0
  40. package/dist/app/composables/core/SearchContext.js +38 -0
  41. package/dist/app/composables/core/SearchManager.d.ts +10 -0
  42. package/dist/app/composables/core/SearchManager.js +20 -0
  43. package/dist/app/composables/events.d.ts +11 -0
  44. package/dist/app/composables/events.js +1 -0
  45. package/dist/app/composables/index.d.ts +9 -0
  46. package/dist/app/composables/index.js +9 -0
  47. package/dist/app/composables/module.d.ts +17 -0
  48. package/dist/app/composables/module.js +39 -0
  49. package/dist/app/composables/types/api/global-search.d.ts +8 -0
  50. package/dist/app/composables/types/api/global-search.js +1 -0
  51. package/dist/app/composables/utils/normalizers.d.ts +1 -0
  52. package/dist/app/composables/utils/normalizers.js +6 -0
  53. package/dist/app/utils/search/client.d.ts +3 -0
  54. package/dist/app/utils/search/client.js +31 -0
  55. package/dist/layers/search/app/composables/adapter/meilisearch.d.ts +8 -0
  56. package/dist/layers/search/app/composables/adapter/meilisearch.js +36 -0
  57. package/dist/layers/search/app/composables/adapter/mock.d.ts +3 -0
  58. package/dist/layers/search/app/composables/adapter/mock.js +19 -0
  59. package/dist/layers/search/app/composables/adapter/opensearch.d.ts +8 -0
  60. package/dist/layers/search/app/composables/adapter/opensearch.js +46 -0
  61. package/dist/layers/search/app/composables/adapter/types.d.ts +12 -0
  62. package/dist/layers/search/app/composables/adapter/types.js +1 -0
  63. package/dist/layers/search/app/composables/bridges/instantsearch.d.ts +4 -0
  64. package/dist/layers/search/app/composables/bridges/instantsearch.js +17 -0
  65. package/dist/layers/search/app/composables/bridges/react.d.ts +12 -0
  66. package/dist/layers/search/app/composables/bridges/react.js +34 -0
  67. package/dist/layers/search/app/composables/bridges/searchkit-server.d.ts +3 -0
  68. package/dist/layers/search/app/composables/bridges/searchkit-server.js +44 -0
  69. package/dist/layers/search/app/composables/bridges/searchkit.d.ts +21 -0
  70. package/dist/layers/search/app/composables/bridges/searchkit.js +60 -0
  71. package/dist/layers/search/app/composables/bridges/vue.d.ts +9 -0
  72. package/dist/layers/search/app/composables/bridges/vue.js +31 -0
  73. package/dist/layers/search/app/composables/cli.d.ts +2 -0
  74. package/dist/layers/search/app/composables/cli.js +69 -0
  75. package/dist/layers/search/app/composables/config/schema.d.ts +5 -0
  76. package/dist/layers/search/app/composables/config/schema.js +8 -0
  77. package/dist/layers/search/app/composables/config.d.ts +7 -0
  78. package/dist/layers/search/app/composables/config.js +11 -0
  79. package/dist/layers/search/app/composables/core/Facets.d.ts +17 -0
  80. package/dist/layers/search/app/composables/core/Facets.js +8 -0
  81. package/dist/layers/search/app/composables/core/Filters.d.ts +18 -0
  82. package/dist/layers/search/app/composables/core/Filters.js +11 -0
  83. package/dist/layers/search/app/composables/core/Normalizers.d.ts +0 -0
  84. package/dist/layers/search/app/composables/core/Normalizers.js +1 -0
  85. package/dist/layers/search/app/composables/core/Pipeline.d.ts +8 -0
  86. package/dist/layers/search/app/composables/core/Pipeline.js +16 -0
  87. package/dist/layers/search/app/composables/core/QueryBuilder.d.ts +13 -0
  88. package/dist/layers/search/app/composables/core/QueryBuilder.js +15 -0
  89. package/dist/layers/search/app/composables/core/SearchContext.d.ts +18 -0
  90. package/dist/layers/search/app/composables/core/SearchContext.js +38 -0
  91. package/dist/layers/search/app/composables/core/SearchManager.d.ts +10 -0
  92. package/dist/layers/search/app/composables/core/SearchManager.js +20 -0
  93. package/dist/layers/search/app/composables/events.d.ts +11 -0
  94. package/dist/layers/search/app/composables/events.js +1 -0
  95. package/dist/layers/search/app/composables/index.d.ts +12 -0
  96. package/dist/layers/search/app/composables/index.js +12 -0
  97. package/dist/layers/search/app/composables/module.d.ts +17 -0
  98. package/dist/layers/search/app/composables/module.js +73 -0
  99. package/dist/layers/search/app/composables/types/api/global-search.d.ts +8 -0
  100. package/dist/layers/search/app/composables/types/api/global-search.js +1 -0
  101. package/dist/layers/search/app/composables/utils/health.d.ts +11 -0
  102. package/dist/layers/search/app/composables/utils/health.js +11 -0
  103. package/dist/layers/search/app/composables/utils/normalizers.d.ts +1 -0
  104. package/dist/layers/search/app/composables/utils/normalizers.js +6 -0
  105. package/dist/layers/search/app/utils/search/client.d.ts +3 -0
  106. package/dist/layers/search/app/utils/search/client.js +31 -0
  107. package/dist/layers/search/nuxt.config.d.ts +2 -0
  108. package/dist/layers/search/nuxt.config.js +7 -0
  109. package/dist/layers/search/test/runtime-adapter.spec.d.ts +1 -0
  110. package/dist/layers/search/test/runtime-adapter.spec.js +49 -0
  111. package/dist/nuxt.config.d.ts +2 -0
  112. package/dist/nuxt.config.js +7 -0
  113. package/dist/packages/core/src/adapters/auth.d.ts +9 -0
  114. package/dist/packages/core/src/adapters/auth.js +1 -0
  115. package/dist/packages/core/src/adapters/cart.d.ts +22 -0
  116. package/dist/packages/core/src/adapters/cart.js +1 -0
  117. package/dist/packages/core/src/adapters/catalog.d.ts +17 -0
  118. package/dist/packages/core/src/adapters/catalog.js +1 -0
  119. package/dist/packages/core/src/adapters/common.d.ts +9 -0
  120. package/dist/packages/core/src/adapters/common.js +1 -0
  121. package/dist/packages/core/src/adapters/lists.d.ts +17 -0
  122. package/dist/packages/core/src/adapters/lists.js +1 -0
  123. package/dist/packages/core/src/adapters/search.d.ts +21 -0
  124. package/dist/packages/core/src/adapters/search.js +1 -0
  125. package/dist/packages/core/src/plugins/defineAdapter.d.ts +2 -0
  126. package/dist/packages/core/src/plugins/defineAdapter.js +3 -0
  127. package/dist/packages/core/src/plugins/defineModule.d.ts +2 -0
  128. package/dist/packages/core/src/plugins/defineModule.js +3 -0
  129. package/dist/packages/core/src/plugins/registry.d.ts +14 -0
  130. package/dist/packages/core/src/plugins/registry.js +46 -0
  131. package/dist/packages/core/src/runtime/app.d.ts +2 -0
  132. package/dist/packages/core/src/runtime/app.js +20 -0
  133. package/dist/packages/core/src/runtime/context.d.ts +9 -0
  134. package/dist/packages/core/src/runtime/context.js +11 -0
  135. package/dist/packages/core/src/runtime/hooks.d.ts +5 -0
  136. package/dist/packages/core/src/runtime/hooks.js +18 -0
  137. package/dist/packages/core/src/runtime/lifecycle.d.ts +4 -0
  138. package/dist/packages/core/src/runtime/lifecycle.js +5 -0
  139. package/dist/packages/core/src/types/adapters.d.ts +14 -0
  140. package/dist/packages/core/src/types/adapters.js +1 -0
  141. package/dist/packages/core/src/types/app.d.ts +13 -0
  142. package/dist/packages/core/src/types/app.js +1 -0
  143. package/dist/packages/core/src/types/config.d.ts +8 -0
  144. package/dist/packages/core/src/types/config.js +1 -0
  145. package/dist/packages/core/src/types/events.d.ts +20 -0
  146. package/dist/packages/core/src/types/events.js +22 -0
  147. package/dist/packages/core/src/types/module.d.ts +15 -0
  148. package/dist/packages/core/src/types/module.js +1 -0
  149. package/package.json +9 -4
  150. 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
+ })