@23blocks/block-search 1.0.3 → 2.0.0

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 (42) hide show
  1. package/dist/index.d.ts +1 -0
  2. package/dist/index.esm.js +497 -0
  3. package/dist/src/index.d.ts +5 -0
  4. package/dist/src/index.d.ts.map +1 -0
  5. package/dist/src/lib/block-search.d.ts +2 -0
  6. package/dist/src/lib/block-search.d.ts.map +1 -0
  7. package/dist/{lib/mappers/index.js → src/lib/mappers/index.d.ts} +2 -3
  8. package/dist/src/lib/mappers/index.d.ts.map +1 -0
  9. package/dist/src/lib/mappers/search.mapper.d.ts +23 -0
  10. package/dist/src/lib/mappers/search.mapper.d.ts.map +1 -0
  11. package/dist/src/lib/mappers/utils.d.ts +21 -0
  12. package/dist/src/lib/mappers/utils.d.ts.map +1 -0
  13. package/dist/src/lib/search.block.d.ts +78 -0
  14. package/dist/src/lib/search.block.d.ts.map +1 -0
  15. package/dist/src/lib/services/index.d.ts +2 -0
  16. package/dist/src/lib/services/index.d.ts.map +1 -0
  17. package/dist/src/lib/services/search.service.d.ts +79 -0
  18. package/dist/src/lib/services/search.service.d.ts.map +1 -0
  19. package/dist/src/lib/types/index.d.ts +2 -0
  20. package/dist/src/lib/types/index.d.ts.map +1 -0
  21. package/dist/src/lib/types/search.d.ts +152 -0
  22. package/dist/src/lib/types/search.d.ts.map +1 -0
  23. package/package.json +10 -8
  24. package/dist/index.js +0 -6
  25. package/dist/index.js.map +0 -1
  26. package/dist/lib/block-search.js +0 -5
  27. package/dist/lib/block-search.js.map +0 -1
  28. package/dist/lib/mappers/index.js.map +0 -1
  29. package/dist/lib/mappers/search.mapper.js +0 -174
  30. package/dist/lib/mappers/search.mapper.js.map +0 -1
  31. package/dist/lib/mappers/utils.js +0 -57
  32. package/dist/lib/mappers/utils.js.map +0 -1
  33. package/dist/lib/search.block.js +0 -62
  34. package/dist/lib/search.block.js.map +0 -1
  35. package/dist/lib/services/index.js +0 -3
  36. package/dist/lib/services/index.js.map +0 -1
  37. package/dist/lib/services/search.service.js +0 -209
  38. package/dist/lib/services/search.service.js.map +0 -1
  39. package/dist/lib/types/index.js +0 -3
  40. package/dist/lib/types/index.js.map +0 -1
  41. package/dist/lib/types/search.js +0 -5
  42. package/dist/lib/types/search.js.map +0 -1
@@ -0,0 +1,79 @@
1
+ import type { Transport, PageResult, ListParams } from '@23blocks/contracts';
2
+ import type { SearchResult, SearchQuery, LastQuery, FavoriteEntity, EntityType, SearchRequest, SearchResponse, AddFavoriteRequest } from '../types/index.js';
3
+ import type { SearchBlockConfig } from '../search.block.js';
4
+ /**
5
+ * Search service interface
6
+ */
7
+ export interface SearchService {
8
+ /**
9
+ * Execute a search query
10
+ */
11
+ search(request: SearchRequest): Promise<SearchResponse>;
12
+ /**
13
+ * Get search suggestions/autocomplete
14
+ */
15
+ suggest(query: string, limit?: number): Promise<SearchResult[]>;
16
+ /**
17
+ * Get available entity types
18
+ */
19
+ entityTypes(): Promise<EntityType[]>;
20
+ }
21
+ /**
22
+ * Search history service interface
23
+ */
24
+ export interface SearchHistoryService {
25
+ /**
26
+ * Get recent searches for the current user
27
+ */
28
+ recent(limit?: number): Promise<LastQuery[]>;
29
+ /**
30
+ * Get a specific query by ID
31
+ */
32
+ get(id: string): Promise<SearchQuery>;
33
+ /**
34
+ * Clear search history
35
+ */
36
+ clear(): Promise<void>;
37
+ /**
38
+ * Delete a specific query from history
39
+ */
40
+ delete(id: string): Promise<void>;
41
+ }
42
+ /**
43
+ * Favorites service interface
44
+ */
45
+ export interface FavoritesService {
46
+ /**
47
+ * List user's favorites
48
+ */
49
+ list(params?: ListParams): Promise<PageResult<FavoriteEntity>>;
50
+ /**
51
+ * Get a favorite by ID
52
+ */
53
+ get(id: string): Promise<FavoriteEntity>;
54
+ /**
55
+ * Add a favorite
56
+ */
57
+ add(request: AddFavoriteRequest): Promise<FavoriteEntity>;
58
+ /**
59
+ * Remove a favorite
60
+ */
61
+ remove(id: string): Promise<void>;
62
+ /**
63
+ * Check if an entity is favorited
64
+ */
65
+ isFavorite(entityUniqueId: string): Promise<boolean>;
66
+ }
67
+ /**
68
+ * Create the search service
69
+ */
70
+ export declare function createSearchService(transport: Transport, _config: SearchBlockConfig): SearchService;
71
+ /**
72
+ * Create the search history service
73
+ */
74
+ export declare function createSearchHistoryService(transport: Transport, _config: SearchBlockConfig): SearchHistoryService;
75
+ /**
76
+ * Create the favorites service
77
+ */
78
+ export declare function createFavoritesService(transport: Transport, _config: SearchBlockConfig): FavoritesService;
79
+ //# sourceMappingURL=search.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.service.d.ts","sourceRoot":"","sources":["../../../../src/lib/services/search.service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAG7E,OAAO,KAAK,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE5D;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAExD;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhE;;OAEG;IACH,WAAW,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;CACtC;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE7C;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAEtC;;OAEG;IACH,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvB;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACnC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;IAE/D;;OAEG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAEzC;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;IAE1D;;OAEG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAElC;;OAEG;IACH,UAAU,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACtD;AAiCD;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,GACzB,aAAa,CAwHf;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,GACzB,oBAAoB,CAuBtB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,iBAAiB,GACzB,gBAAgB,CAyClB"}
@@ -0,0 +1,2 @@
1
+ export type { SearchResult, SearchQuery, LastQuery, FavoriteEntity, EntityType, SearchRequest, SearchResponse, AddFavoriteRequest, } from './search.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,YAAY,EACZ,WAAW,EACX,SAAS,EACT,cAAc,EACd,UAAU,EACV,aAAa,EACb,cAAc,EACd,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
@@ -0,0 +1,152 @@
1
+ import type { IdentityCore, EntityStatus } from '@23blocks/contracts';
2
+ /**
3
+ * Search result entity
4
+ */
5
+ export interface SearchResult extends IdentityCore {
6
+ partition: string | null;
7
+ key: string | null;
8
+ weight: number;
9
+ relevance: number;
10
+ uri: string | null;
11
+ origin: string | null;
12
+ entityUniqueId: string;
13
+ entityAlias: string | null;
14
+ entityDescription: string | null;
15
+ entityAvatarUrl: string | null;
16
+ entityType: string;
17
+ entitySource: string | null;
18
+ entityUrl: string | null;
19
+ counter: number;
20
+ favorite: boolean;
21
+ status: EntityStatus;
22
+ payload: Record<string, unknown> | null;
23
+ }
24
+ /**
25
+ * Search query (saved/executed query)
26
+ */
27
+ export interface SearchQuery extends IdentityCore {
28
+ partition: string | null;
29
+ key: string | null;
30
+ query: string;
31
+ include: string[] | null;
32
+ exclude: string[] | null;
33
+ payload: Record<string, unknown> | null;
34
+ userUniqueId: string | null;
35
+ userProviderName: string | null;
36
+ userName: string | null;
37
+ userEmail: string | null;
38
+ userRole: string | null;
39
+ userRoleUniqueId: string | null;
40
+ userRoleName: string | null;
41
+ queryString: string | null;
42
+ userAgent: string | null;
43
+ url: string | null;
44
+ path: string | null;
45
+ ipaddress: string | null;
46
+ origin: string | null;
47
+ source: string | null;
48
+ submittedAt: Date | null;
49
+ device: string | null;
50
+ browser: string | null;
51
+ hash: string | null;
52
+ elapsedTime: number | null;
53
+ startedAt: Date | null;
54
+ endedAt: Date | null;
55
+ totalRecords: number;
56
+ totalRecordsReturned: number;
57
+ queryOrigin: string | null;
58
+ }
59
+ /**
60
+ * Last query (recent search history)
61
+ */
62
+ export interface LastQuery extends IdentityCore {
63
+ partition: string | null;
64
+ key: string | null;
65
+ query: string;
66
+ include: string[] | null;
67
+ exclude: string[] | null;
68
+ payload: Record<string, unknown> | null;
69
+ userUniqueId: string | null;
70
+ userProviderName: string | null;
71
+ userName: string | null;
72
+ userEmail: string | null;
73
+ userRole: string | null;
74
+ userRoleUniqueId: string | null;
75
+ userRoleName: string | null;
76
+ queryString: string | null;
77
+ userAgent: string | null;
78
+ url: string | null;
79
+ path: string | null;
80
+ ipaddress: string | null;
81
+ origin: string | null;
82
+ source: string | null;
83
+ submittedAt: Date | null;
84
+ device: string | null;
85
+ browser: string | null;
86
+ hash: string | null;
87
+ elapsedTime: number | null;
88
+ startedAt: Date | null;
89
+ endedAt: Date | null;
90
+ totalRecords: number;
91
+ totalRecordsReturned: number;
92
+ queryOrigin: string | null;
93
+ }
94
+ /**
95
+ * Favorite entity (bookmarked search result)
96
+ */
97
+ export interface FavoriteEntity extends IdentityCore {
98
+ partition: string | null;
99
+ key: string | null;
100
+ weight: number;
101
+ relevance: number;
102
+ uri: string | null;
103
+ origin: string | null;
104
+ entityUniqueId: string;
105
+ entityType: string;
106
+ entityAlias: string | null;
107
+ entitySource: string | null;
108
+ entityUrl: string | null;
109
+ entityAvatarUrl: string | null;
110
+ counter: number;
111
+ favorite: boolean;
112
+ status: EntityStatus;
113
+ }
114
+ /**
115
+ * Entity type (categorization of searchable entities)
116
+ */
117
+ export interface EntityType {
118
+ id: string;
119
+ entityType: string;
120
+ entitySource: string | null;
121
+ }
122
+ /**
123
+ * Search request parameters
124
+ */
125
+ export interface SearchRequest {
126
+ query: string;
127
+ entityTypes?: string[];
128
+ include?: string[];
129
+ exclude?: string[];
130
+ limit?: number;
131
+ offset?: number;
132
+ }
133
+ /**
134
+ * Search response with results and metadata
135
+ */
136
+ export interface SearchResponse {
137
+ results: SearchResult[];
138
+ query: SearchQuery;
139
+ totalRecords: number;
140
+ elapsedTime: number;
141
+ }
142
+ /**
143
+ * Add favorite request
144
+ */
145
+ export interface AddFavoriteRequest {
146
+ entityUniqueId: string;
147
+ entityType: string;
148
+ entityAlias?: string;
149
+ entityUrl?: string;
150
+ entityAvatarUrl?: string;
151
+ }
152
+ //# sourceMappingURL=search.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"search.d.ts","sourceRoot":"","sources":["../../../../src/lib/types/search.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@23blocks/block-search",
3
- "version": "1.0.3",
3
+ "version": "2.0.0",
4
4
  "description": "Search block for 23blocks SDK - full-text search, history, favorites",
5
5
  "license": "MIT",
6
6
  "author": "23blocks <hello@23blocks.com>",
@@ -22,15 +22,15 @@
22
22
  "history"
23
23
  ],
24
24
  "type": "module",
25
- "main": "./dist/index.js",
26
- "module": "./dist/index.js",
25
+ "main": "./dist/index.esm.js",
26
+ "module": "./dist/index.esm.js",
27
27
  "types": "./dist/index.d.ts",
28
28
  "exports": {
29
29
  "./package.json": "./package.json",
30
30
  ".": {
31
31
  "types": "./dist/index.d.ts",
32
- "import": "./dist/index.js",
33
- "default": "./dist/index.js"
32
+ "import": "./dist/index.esm.js",
33
+ "default": "./dist/index.esm.js"
34
34
  }
35
35
  },
36
36
  "files": [
@@ -41,7 +41,7 @@
41
41
  "sourceRoot": "packages/block-search/src",
42
42
  "targets": {
43
43
  "build": {
44
- "executor": "@nx/js:swc",
44
+ "executor": "@nx/rollup:rollup",
45
45
  "outputs": [
46
46
  "{options.outputPath}"
47
47
  ],
@@ -49,8 +49,10 @@
49
49
  "outputPath": "packages/block-search/dist",
50
50
  "main": "packages/block-search/src/index.ts",
51
51
  "tsConfig": "packages/block-search/tsconfig.lib.json",
52
- "skipTypeCheck": true,
53
- "stripLeadingPaths": true
52
+ "compiler": "swc",
53
+ "format": [
54
+ "esm"
55
+ ]
54
56
  }
55
57
  }
56
58
  }
package/dist/index.js DELETED
@@ -1,6 +0,0 @@
1
- // Block factory and config
2
- export { createSearchBlock, searchBlockMetadata } from './lib/search.block.js';
3
- // Mappers (for advanced use cases)
4
- export { searchResultMapper, searchQueryMapper, lastQueryMapper, favoriteEntityMapper, entityTypeMapper } from './lib/mappers/index.js';
5
-
6
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/index.ts"],"sourcesContent":["// Block factory and config\nexport {\n createSearchBlock,\n searchBlockMetadata,\n type SearchBlock,\n type SearchBlockConfig,\n} from './lib/search.block.js';\n\n// Types\nexport type {\n SearchResult,\n SearchQuery,\n LastQuery,\n FavoriteEntity,\n EntityType,\n SearchRequest,\n SearchResponse,\n AddFavoriteRequest,\n} from './lib/types/index.js';\n\n// Services\nexport type {\n SearchService,\n SearchHistoryService,\n FavoritesService,\n} from './lib/services/index.js';\n\n// Mappers (for advanced use cases)\nexport {\n searchResultMapper,\n searchQueryMapper,\n lastQueryMapper,\n favoriteEntityMapper,\n entityTypeMapper,\n} from './lib/mappers/index.js';\n"],"names":["createSearchBlock","searchBlockMetadata","searchResultMapper","searchQueryMapper","lastQueryMapper","favoriteEntityMapper","entityTypeMapper"],"rangeMappings":";;;","mappings":"AAAA,2BAA2B;AAC3B,SACEA,iBAAiB,EACjBC,mBAAmB,QAGd,wBAAwB;AAqB/B,mCAAmC;AACnC,SACEC,kBAAkB,EAClBC,iBAAiB,EACjBC,eAAe,EACfC,oBAAoB,EACpBC,gBAAgB,QACX,yBAAyB"}
@@ -1,5 +0,0 @@
1
- export function blockSearch() {
2
- return 'block-search';
3
- }
4
-
5
- //# sourceMappingURL=block-search.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../src/lib/block-search.ts"],"sourcesContent":["export function blockSearch(): string {\n return 'block-search';\n}\n"],"names":["blockSearch"],"rangeMappings":";;","mappings":"AAAA,OAAO,SAASA;IACd,OAAO;AACT"}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/index.ts"],"sourcesContent":["export {\n searchResultMapper,\n searchQueryMapper,\n lastQueryMapper,\n favoriteEntityMapper,\n entityTypeMapper,\n} from './search.mapper.js';\n\nexport { parseString, parseDate, parseBoolean, parseNumber, parseStringArray } from './utils.js';\n"],"names":["searchResultMapper","searchQueryMapper","lastQueryMapper","favoriteEntityMapper","entityTypeMapper","parseString","parseDate","parseBoolean","parseNumber","parseStringArray"],"rangeMappings":";","mappings":"AAAA,SACEA,kBAAkB,EAClBC,iBAAiB,EACjBC,eAAe,EACfC,oBAAoB,EACpBC,gBAAgB,QACX,qBAAqB;AAE5B,SAASC,WAAW,EAAEC,SAAS,EAAEC,YAAY,EAAEC,WAAW,EAAEC,gBAAgB,QAAQ,aAAa"}
@@ -1,174 +0,0 @@
1
- import { parseString, parseDate, parseNumber, parseBoolean, parseStringArray } from './utils.js';
2
- /**
3
- * Mapper for SearchResult resources
4
- */ export const searchResultMapper = {
5
- type: 'SearchResult',
6
- map (resource, _included) {
7
- var _resource_attributes;
8
- const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
9
- var _parseString, _parseDate, _parseDate1, _attrs_entity_unique_id, _attrs_entity_type, _parseString1;
10
- return {
11
- id: resource.id,
12
- uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
13
- createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
14
- updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
15
- partition: parseString(attrs.partition),
16
- key: parseString(attrs.key),
17
- weight: parseNumber(attrs.weight),
18
- relevance: parseNumber(attrs.relevance),
19
- uri: parseString(attrs.uri),
20
- origin: parseString(attrs.origin),
21
- entityUniqueId: String((_attrs_entity_unique_id = attrs.entity_unique_id) != null ? _attrs_entity_unique_id : ''),
22
- entityAlias: parseString(attrs.entity_alias),
23
- entityDescription: parseString(attrs.entity_description),
24
- entityAvatarUrl: parseString(attrs.entity_avatar_url),
25
- entityType: String((_attrs_entity_type = attrs.entity_type) != null ? _attrs_entity_type : ''),
26
- entitySource: parseString(attrs.entity_source),
27
- entityUrl: parseString(attrs.entity_url),
28
- counter: parseNumber(attrs.counter),
29
- favorite: parseBoolean(attrs.favorite),
30
- status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active',
31
- payload: attrs.payload
32
- };
33
- }
34
- };
35
- /**
36
- * Mapper for SearchQuery resources
37
- */ export const searchQueryMapper = {
38
- type: 'Query',
39
- map (resource, _included) {
40
- var _resource_attributes;
41
- const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
42
- var _parseString, _parseDate, _parseDate1, _attrs_query;
43
- return {
44
- id: resource.id,
45
- uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
46
- createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
47
- updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
48
- partition: parseString(attrs.partition),
49
- key: parseString(attrs.key),
50
- query: String((_attrs_query = attrs.query) != null ? _attrs_query : ''),
51
- include: parseStringArray(attrs.include),
52
- exclude: parseStringArray(attrs.exclude),
53
- payload: attrs.payload,
54
- userUniqueId: parseString(attrs.user_unique_id),
55
- userProviderName: parseString(attrs.user_provider_name),
56
- userName: parseString(attrs.user_name),
57
- userEmail: parseString(attrs.user_email),
58
- userRole: parseString(attrs.user_role),
59
- userRoleUniqueId: parseString(attrs.user_role_unique_id),
60
- userRoleName: parseString(attrs.user_role_name),
61
- queryString: parseString(attrs.query_string),
62
- userAgent: parseString(attrs.user_agent),
63
- url: parseString(attrs.url),
64
- path: parseString(attrs.path),
65
- ipaddress: parseString(attrs.ipaddress),
66
- origin: parseString(attrs.origin),
67
- source: parseString(attrs.source),
68
- submittedAt: parseDate(attrs.submitted_at),
69
- device: parseString(attrs.device),
70
- browser: parseString(attrs.browser),
71
- hash: parseString(attrs.hash),
72
- elapsedTime: attrs.elapsed_time != null ? parseNumber(attrs.elapsed_time) : null,
73
- startedAt: parseDate(attrs.started_at),
74
- endedAt: parseDate(attrs.ended_at),
75
- totalRecords: parseNumber(attrs.total_records),
76
- totalRecordsReturned: parseNumber(attrs.total_records_returned),
77
- queryOrigin: parseString(attrs.query_origin)
78
- };
79
- }
80
- };
81
- /**
82
- * Mapper for LastQuery resources
83
- */ export const lastQueryMapper = {
84
- type: 'LastQuery',
85
- map (resource, _included) {
86
- var _resource_attributes;
87
- const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
88
- var _parseString, _parseDate, _parseDate1, _attrs_query;
89
- return {
90
- id: resource.id,
91
- uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
92
- createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
93
- updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
94
- partition: parseString(attrs.partition),
95
- key: parseString(attrs.key),
96
- query: String((_attrs_query = attrs.query) != null ? _attrs_query : ''),
97
- include: parseStringArray(attrs.include),
98
- exclude: parseStringArray(attrs.exclude),
99
- payload: attrs.payload,
100
- userUniqueId: parseString(attrs.user_unique_id),
101
- userProviderName: parseString(attrs.user_provider_name),
102
- userName: parseString(attrs.user_name),
103
- userEmail: parseString(attrs.user_email),
104
- userRole: parseString(attrs.user_role),
105
- userRoleUniqueId: parseString(attrs.user_role_unique_id),
106
- userRoleName: parseString(attrs.user_role_name),
107
- queryString: parseString(attrs.query_string),
108
- userAgent: parseString(attrs.user_agent),
109
- url: parseString(attrs.url),
110
- path: parseString(attrs.path),
111
- ipaddress: parseString(attrs.ipaddress),
112
- origin: parseString(attrs.origin),
113
- source: parseString(attrs.source),
114
- submittedAt: parseDate(attrs.submitted_at),
115
- device: parseString(attrs.device),
116
- browser: parseString(attrs.browser),
117
- hash: parseString(attrs.hash),
118
- elapsedTime: attrs.elapsed_time != null ? parseNumber(attrs.elapsed_time) : null,
119
- startedAt: parseDate(attrs.started_at),
120
- endedAt: parseDate(attrs.ended_at),
121
- totalRecords: parseNumber(attrs.total_records),
122
- totalRecordsReturned: parseNumber(attrs.total_records_returned),
123
- queryOrigin: parseString(attrs.query_origin)
124
- };
125
- }
126
- };
127
- /**
128
- * Mapper for FavoriteEntity resources
129
- */ export const favoriteEntityMapper = {
130
- type: 'FavoriteEntity',
131
- map (resource, _included) {
132
- var _resource_attributes;
133
- const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
134
- var _parseString, _parseDate, _parseDate1, _attrs_entity_unique_id, _attrs_entity_type, _parseString1;
135
- return {
136
- id: resource.id,
137
- uniqueId: (_parseString = parseString(attrs.unique_id)) != null ? _parseString : resource.id,
138
- createdAt: (_parseDate = parseDate(attrs.created_at)) != null ? _parseDate : new Date(),
139
- updatedAt: (_parseDate1 = parseDate(attrs.updated_at)) != null ? _parseDate1 : new Date(),
140
- partition: parseString(attrs.partition),
141
- key: parseString(attrs.key),
142
- weight: parseNumber(attrs.weight),
143
- relevance: parseNumber(attrs.relevance),
144
- uri: parseString(attrs.uri),
145
- origin: parseString(attrs.origin),
146
- entityUniqueId: String((_attrs_entity_unique_id = attrs.entity_unique_id) != null ? _attrs_entity_unique_id : ''),
147
- entityType: String((_attrs_entity_type = attrs.entity_type) != null ? _attrs_entity_type : ''),
148
- entityAlias: parseString(attrs.entity_alias),
149
- entitySource: parseString(attrs.entity_source),
150
- entityUrl: parseString(attrs.entity_url),
151
- entityAvatarUrl: parseString(attrs.entity_avatar_url),
152
- counter: parseNumber(attrs.counter),
153
- favorite: parseBoolean(attrs.favorite),
154
- status: (_parseString1 = parseString(attrs.status)) != null ? _parseString1 : 'active'
155
- };
156
- }
157
- };
158
- /**
159
- * Mapper for EntityType resources
160
- */ export const entityTypeMapper = {
161
- type: 'EntityType',
162
- map (resource, _included) {
163
- var _resource_attributes;
164
- const attrs = (_resource_attributes = resource.attributes) != null ? _resource_attributes : {};
165
- var _attrs_entity_type;
166
- return {
167
- id: resource.id,
168
- entityType: String((_attrs_entity_type = attrs.entity_type) != null ? _attrs_entity_type : ''),
169
- entitySource: parseString(attrs.entity_source)
170
- };
171
- }
172
- };
173
-
174
- //# sourceMappingURL=search.mapper.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/search.mapper.ts"],"sourcesContent":["import type { ResourceMapper, IncludedMap, JsonApiResource } from '@23blocks/jsonapi-codec';\nimport type { EntityStatus } from '@23blocks/contracts';\nimport type {\n SearchResult,\n SearchQuery,\n LastQuery,\n FavoriteEntity,\n EntityType,\n} from '../types/index.js';\nimport { parseString, parseDate, parseNumber, parseBoolean, parseStringArray } from './utils.js';\n\n/**\n * Mapper for SearchResult resources\n */\nexport const searchResultMapper: ResourceMapper<SearchResult> = {\n type: 'SearchResult',\n\n map(resource: JsonApiResource, _included: IncludedMap): SearchResult {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n partition: parseString(attrs.partition),\n key: parseString(attrs.key),\n weight: parseNumber(attrs.weight),\n relevance: parseNumber(attrs.relevance),\n uri: parseString(attrs.uri),\n origin: parseString(attrs.origin),\n entityUniqueId: String(attrs.entity_unique_id ?? ''),\n entityAlias: parseString(attrs.entity_alias),\n entityDescription: parseString(attrs.entity_description),\n entityAvatarUrl: parseString(attrs.entity_avatar_url),\n entityType: String(attrs.entity_type ?? ''),\n entitySource: parseString(attrs.entity_source),\n entityUrl: parseString(attrs.entity_url),\n counter: parseNumber(attrs.counter),\n favorite: parseBoolean(attrs.favorite),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n payload: attrs.payload as Record<string, unknown> | null,\n };\n },\n};\n\n/**\n * Mapper for SearchQuery resources\n */\nexport const searchQueryMapper: ResourceMapper<SearchQuery> = {\n type: 'Query',\n\n map(resource: JsonApiResource, _included: IncludedMap): SearchQuery {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n partition: parseString(attrs.partition),\n key: parseString(attrs.key),\n query: String(attrs.query ?? ''),\n include: parseStringArray(attrs.include),\n exclude: parseStringArray(attrs.exclude),\n payload: attrs.payload as Record<string, unknown> | null,\n userUniqueId: parseString(attrs.user_unique_id),\n userProviderName: parseString(attrs.user_provider_name),\n userName: parseString(attrs.user_name),\n userEmail: parseString(attrs.user_email),\n userRole: parseString(attrs.user_role),\n userRoleUniqueId: parseString(attrs.user_role_unique_id),\n userRoleName: parseString(attrs.user_role_name),\n queryString: parseString(attrs.query_string),\n userAgent: parseString(attrs.user_agent),\n url: parseString(attrs.url),\n path: parseString(attrs.path),\n ipaddress: parseString(attrs.ipaddress),\n origin: parseString(attrs.origin),\n source: parseString(attrs.source),\n submittedAt: parseDate(attrs.submitted_at),\n device: parseString(attrs.device),\n browser: parseString(attrs.browser),\n hash: parseString(attrs.hash),\n elapsedTime: attrs.elapsed_time != null ? parseNumber(attrs.elapsed_time) : null,\n startedAt: parseDate(attrs.started_at),\n endedAt: parseDate(attrs.ended_at),\n totalRecords: parseNumber(attrs.total_records),\n totalRecordsReturned: parseNumber(attrs.total_records_returned),\n queryOrigin: parseString(attrs.query_origin),\n };\n },\n};\n\n/**\n * Mapper for LastQuery resources\n */\nexport const lastQueryMapper: ResourceMapper<LastQuery> = {\n type: 'LastQuery',\n\n map(resource: JsonApiResource, _included: IncludedMap): LastQuery {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n partition: parseString(attrs.partition),\n key: parseString(attrs.key),\n query: String(attrs.query ?? ''),\n include: parseStringArray(attrs.include),\n exclude: parseStringArray(attrs.exclude),\n payload: attrs.payload as Record<string, unknown> | null,\n userUniqueId: parseString(attrs.user_unique_id),\n userProviderName: parseString(attrs.user_provider_name),\n userName: parseString(attrs.user_name),\n userEmail: parseString(attrs.user_email),\n userRole: parseString(attrs.user_role),\n userRoleUniqueId: parseString(attrs.user_role_unique_id),\n userRoleName: parseString(attrs.user_role_name),\n queryString: parseString(attrs.query_string),\n userAgent: parseString(attrs.user_agent),\n url: parseString(attrs.url),\n path: parseString(attrs.path),\n ipaddress: parseString(attrs.ipaddress),\n origin: parseString(attrs.origin),\n source: parseString(attrs.source),\n submittedAt: parseDate(attrs.submitted_at),\n device: parseString(attrs.device),\n browser: parseString(attrs.browser),\n hash: parseString(attrs.hash),\n elapsedTime: attrs.elapsed_time != null ? parseNumber(attrs.elapsed_time) : null,\n startedAt: parseDate(attrs.started_at),\n endedAt: parseDate(attrs.ended_at),\n totalRecords: parseNumber(attrs.total_records),\n totalRecordsReturned: parseNumber(attrs.total_records_returned),\n queryOrigin: parseString(attrs.query_origin),\n };\n },\n};\n\n/**\n * Mapper for FavoriteEntity resources\n */\nexport const favoriteEntityMapper: ResourceMapper<FavoriteEntity> = {\n type: 'FavoriteEntity',\n\n map(resource: JsonApiResource, _included: IncludedMap): FavoriteEntity {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n uniqueId: parseString(attrs.unique_id) ?? resource.id,\n createdAt: parseDate(attrs.created_at) ?? new Date(),\n updatedAt: parseDate(attrs.updated_at) ?? new Date(),\n partition: parseString(attrs.partition),\n key: parseString(attrs.key),\n weight: parseNumber(attrs.weight),\n relevance: parseNumber(attrs.relevance),\n uri: parseString(attrs.uri),\n origin: parseString(attrs.origin),\n entityUniqueId: String(attrs.entity_unique_id ?? ''),\n entityType: String(attrs.entity_type ?? ''),\n entityAlias: parseString(attrs.entity_alias),\n entitySource: parseString(attrs.entity_source),\n entityUrl: parseString(attrs.entity_url),\n entityAvatarUrl: parseString(attrs.entity_avatar_url),\n counter: parseNumber(attrs.counter),\n favorite: parseBoolean(attrs.favorite),\n status: (parseString(attrs.status) ?? 'active') as EntityStatus,\n };\n },\n};\n\n/**\n * Mapper for EntityType resources\n */\nexport const entityTypeMapper: ResourceMapper<EntityType> = {\n type: 'EntityType',\n\n map(resource: JsonApiResource, _included: IncludedMap): EntityType {\n const attrs = resource.attributes ?? {};\n\n return {\n id: resource.id,\n entityType: String(attrs.entity_type ?? ''),\n entitySource: parseString(attrs.entity_source),\n };\n },\n};\n"],"names":["parseString","parseDate","parseNumber","parseBoolean","parseStringArray","searchResultMapper","type","map","resource","_included","attrs","attributes","id","uniqueId","unique_id","createdAt","created_at","Date","updatedAt","updated_at","partition","key","weight","relevance","uri","origin","entityUniqueId","String","entity_unique_id","entityAlias","entity_alias","entityDescription","entity_description","entityAvatarUrl","entity_avatar_url","entityType","entity_type","entitySource","entity_source","entityUrl","entity_url","counter","favorite","status","payload","searchQueryMapper","query","include","exclude","userUniqueId","user_unique_id","userProviderName","user_provider_name","userName","user_name","userEmail","user_email","userRole","user_role","userRoleUniqueId","user_role_unique_id","userRoleName","user_role_name","queryString","query_string","userAgent","user_agent","url","path","ipaddress","source","submittedAt","submitted_at","device","browser","hash","elapsedTime","elapsed_time","startedAt","started_at","endedAt","ended_at","totalRecords","total_records","totalRecordsReturned","total_records_returned","queryOrigin","query_origin","lastQueryMapper","favoriteEntityMapper","entityTypeMapper"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Parse a string value, returning null for empty/undefined
3
- */ export function parseString(value) {
4
- if (value === null || value === undefined) {
5
- return null;
6
- }
7
- const str = String(value);
8
- return str.length > 0 ? str : null;
9
- }
10
- /**
11
- * Parse a date value
12
- */ export function parseDate(value) {
13
- if (value === null || value === undefined) {
14
- return null;
15
- }
16
- if (value instanceof Date) {
17
- return value;
18
- }
19
- if (typeof value === 'string' || typeof value === 'number') {
20
- const date = new Date(value);
21
- return isNaN(date.getTime()) ? null : date;
22
- }
23
- return null;
24
- }
25
- /**
26
- * Parse a boolean value
27
- */ export function parseBoolean(value) {
28
- if (typeof value === 'boolean') {
29
- return value;
30
- }
31
- if (value === 'true' || value === '1' || value === 1) {
32
- return true;
33
- }
34
- return false;
35
- }
36
- /**
37
- * Parse an array of strings
38
- */ export function parseStringArray(value) {
39
- if (value === null || value === undefined) {
40
- return null;
41
- }
42
- if (Array.isArray(value)) {
43
- return value.map(String);
44
- }
45
- return null;
46
- }
47
- /**
48
- * Parse a number value
49
- */ export function parseNumber(value) {
50
- if (value === null || value === undefined) {
51
- return 0;
52
- }
53
- const num = Number(value);
54
- return isNaN(num) ? 0 : num;
55
- }
56
-
57
- //# sourceMappingURL=utils.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../../../src/lib/mappers/utils.ts"],"sourcesContent":["/**\n * Parse a string value, returning null for empty/undefined\n */\nexport function parseString(value: unknown): string | null {\n if (value === null || value === undefined) {\n return null;\n }\n const str = String(value);\n return str.length > 0 ? str : null;\n}\n\n/**\n * Parse a date value\n */\nexport function parseDate(value: unknown): Date | null {\n if (value === null || value === undefined) {\n return null;\n }\n\n if (value instanceof Date) {\n return value;\n }\n\n if (typeof value === 'string' || typeof value === 'number') {\n const date = new Date(value);\n return isNaN(date.getTime()) ? null : date;\n }\n\n return null;\n}\n\n/**\n * Parse a boolean value\n */\nexport function parseBoolean(value: unknown): boolean {\n if (typeof value === 'boolean') {\n return value;\n }\n if (value === 'true' || value === '1' || value === 1) {\n return true;\n }\n return false;\n}\n\n/**\n * Parse an array of strings\n */\nexport function parseStringArray(value: unknown): string[] | null {\n if (value === null || value === undefined) {\n return null;\n }\n if (Array.isArray(value)) {\n return value.map(String);\n }\n return null;\n}\n\n/**\n * Parse a number value\n */\nexport function parseNumber(value: unknown): number {\n if (value === null || value === undefined) {\n return 0;\n }\n const num = Number(value);\n return isNaN(num) ? 0 : num;\n}\n"],"names":["parseString","value","undefined","str","String","length","parseDate","Date","date","isNaN","getTime","parseBoolean","parseStringArray","Array","isArray","map","parseNumber","num","Number"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;CAEC,GACD,OAAO,SAASA,YAAYC,KAAc;IACxC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAO;IACT;IACA,MAAMC,MAAMC,OAAOH;IACnB,OAAOE,IAAIE,MAAM,GAAG,IAAIF,MAAM;AAChC;AAEA;;CAEC,GACD,OAAO,SAASG,UAAUL,KAAc;IACtC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAO;IACT;IAEA,IAAID,iBAAiBM,MAAM;QACzB,OAAON;IACT;IAEA,IAAI,OAAOA,UAAU,YAAY,OAAOA,UAAU,UAAU;QAC1D,MAAMO,OAAO,IAAID,KAAKN;QACtB,OAAOQ,MAAMD,KAAKE,OAAO,MAAM,OAAOF;IACxC;IAEA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASG,aAAaV,KAAc;IACzC,IAAI,OAAOA,UAAU,WAAW;QAC9B,OAAOA;IACT;IACA,IAAIA,UAAU,UAAUA,UAAU,OAAOA,UAAU,GAAG;QACpD,OAAO;IACT;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASW,iBAAiBX,KAAc;IAC7C,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAO;IACT;IACA,IAAIW,MAAMC,OAAO,CAACb,QAAQ;QACxB,OAAOA,MAAMc,GAAG,CAACX;IACnB;IACA,OAAO;AACT;AAEA;;CAEC,GACD,OAAO,SAASY,YAAYf,KAAc;IACxC,IAAIA,UAAU,QAAQA,UAAUC,WAAW;QACzC,OAAO;IACT;IACA,MAAMe,MAAMC,OAAOjB;IACnB,OAAOQ,MAAMQ,OAAO,IAAIA;AAC1B"}