@ryuzaki13/react-foundation-api 1.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 (166) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +30 -0
  3. package/dist/adt/fetchUserTransports.d.ts +2 -0
  4. package/dist/adt/fetchUserTransports.d.ts.map +1 -0
  5. package/dist/adt/index.d.ts +4 -0
  6. package/dist/adt/index.d.ts.map +1 -0
  7. package/dist/adt/index.js +70 -0
  8. package/dist/adt/index.js.map +1 -0
  9. package/dist/adt/parseUserTransportsXml.d.ts +3 -0
  10. package/dist/adt/parseUserTransportsXml.d.ts.map +1 -0
  11. package/dist/adt/types.d.ts +10 -0
  12. package/dist/adt/types.d.ts.map +1 -0
  13. package/dist/async/AsyncTasksError.d.ts +6 -0
  14. package/dist/async/AsyncTasksError.d.ts.map +1 -0
  15. package/dist/async/ConcurrencyPartialError.d.ts +6 -0
  16. package/dist/async/ConcurrencyPartialError.d.ts.map +1 -0
  17. package/dist/async/index.d.ts +5 -0
  18. package/dist/async/index.d.ts.map +1 -0
  19. package/dist/async/index.js +163 -0
  20. package/dist/async/index.js.map +1 -0
  21. package/dist/async/runAsyncTasks.d.ts +32 -0
  22. package/dist/async/runAsyncTasks.d.ts.map +1 -0
  23. package/dist/async/runConcurrentTasks.d.ts +127 -0
  24. package/dist/async/runConcurrentTasks.d.ts.map +1 -0
  25. package/dist/chunks/fetch-BW2OtCu7.js +508 -0
  26. package/dist/chunks/fetch-BW2OtCu7.js.map +1 -0
  27. package/dist/chunks/odata-ZgZGme_K.js +473 -0
  28. package/dist/chunks/odata-ZgZGme_K.js.map +1 -0
  29. package/dist/chunks/odataFetchFn-BXVJxOou.js +302 -0
  30. package/dist/chunks/odataFetchFn-BXVJxOou.js.map +1 -0
  31. package/dist/error-report/errorReport.d.ts +28 -0
  32. package/dist/error-report/errorReport.d.ts.map +1 -0
  33. package/dist/error-report/index.d.ts +2 -0
  34. package/dist/error-report/index.d.ts.map +1 -0
  35. package/dist/error-report/index.js +42 -0
  36. package/dist/error-report/index.js.map +1 -0
  37. package/dist/http/RouteError.d.ts +5 -0
  38. package/dist/http/RouteError.d.ts.map +1 -0
  39. package/dist/http/http.d.ts +20 -0
  40. package/dist/http/http.d.ts.map +1 -0
  41. package/dist/http/index.d.ts +4 -0
  42. package/dist/http/index.d.ts.map +1 -0
  43. package/dist/http/index.js +67 -0
  44. package/dist/http/index.js.map +1 -0
  45. package/dist/http/types.d.ts +23 -0
  46. package/dist/http/types.d.ts.map +1 -0
  47. package/dist/odata/createODataCollectionQueryKey.d.ts +9 -0
  48. package/dist/odata/createODataCollectionQueryKey.d.ts.map +1 -0
  49. package/dist/odata/fetchCollectionData.d.ts +15 -0
  50. package/dist/odata/fetchCollectionData.d.ts.map +1 -0
  51. package/dist/odata/flattenODataDependentServices.d.ts +6 -0
  52. package/dist/odata/flattenODataDependentServices.d.ts.map +1 -0
  53. package/dist/odata/index.d.ts +21 -0
  54. package/dist/odata/index.d.ts.map +1 -0
  55. package/dist/odata/index.js +4 -0
  56. package/dist/odata/metadataVersionCheck.d.ts +49 -0
  57. package/dist/odata/metadataVersionCheck.d.ts.map +1 -0
  58. package/dist/odata/odataBaseQueryKey.d.ts +2 -0
  59. package/dist/odata/odataBaseQueryKey.d.ts.map +1 -0
  60. package/dist/odata/odataFetch.d.ts +87 -0
  61. package/dist/odata/odataFetch.d.ts.map +1 -0
  62. package/dist/odata/odataFetchFn.d.ts +399 -0
  63. package/dist/odata/odataFetchFn.d.ts.map +1 -0
  64. package/dist/odata/odataFetchFnDev.d.ts +58 -0
  65. package/dist/odata/odataFetchFnDev.d.ts.map +1 -0
  66. package/dist/odata/odataFetchFnHelpers.d.ts +9 -0
  67. package/dist/odata/odataFetchFnHelpers.d.ts.map +1 -0
  68. package/dist/odata/odataProjectAdapter.d.ts +22 -0
  69. package/dist/odata/odataProjectAdapter.d.ts.map +1 -0
  70. package/dist/odata/parseODataResponseByMetadata.d.ts +4 -0
  71. package/dist/odata/parseODataResponseByMetadata.d.ts.map +1 -0
  72. package/dist/odata/sortODataDependentSegmentItemsByChains.d.ts +8 -0
  73. package/dist/odata/sortODataDependentSegmentItemsByChains.d.ts.map +1 -0
  74. package/dist/odata/sortODataDependentServicesByChains.d.ts +12 -0
  75. package/dist/odata/sortODataDependentServicesByChains.d.ts.map +1 -0
  76. package/dist/odata/transport/SsoRequiredError.d.ts +22 -0
  77. package/dist/odata/transport/SsoRequiredError.d.ts.map +1 -0
  78. package/dist/odata/transport/errorReport.d.ts +3 -0
  79. package/dist/odata/transport/errorReport.d.ts.map +1 -0
  80. package/dist/odata/transport/fetch.d.ts +43 -0
  81. package/dist/odata/transport/fetch.d.ts.map +1 -0
  82. package/dist/odata/transport/index.d.ts +5 -0
  83. package/dist/odata/transport/index.d.ts.map +1 -0
  84. package/dist/odata/transport/types.d.ts +12 -0
  85. package/dist/odata/transport/types.d.ts.map +1 -0
  86. package/dist/odata/transport/url.d.ts +13 -0
  87. package/dist/odata/transport/url.d.ts.map +1 -0
  88. package/dist/odata/types.d.ts +176 -0
  89. package/dist/odata/types.d.ts.map +1 -0
  90. package/dist/odata/useODataCollection.d.ts +39 -0
  91. package/dist/odata/useODataCollection.d.ts.map +1 -0
  92. package/dist/odata/useODataCollectionChains.d.ts +7 -0
  93. package/dist/odata/useODataCollectionChains.d.ts.map +1 -0
  94. package/dist/odata/useODataCollectionModel.d.ts +3 -0
  95. package/dist/odata/useODataCollectionModel.d.ts.map +1 -0
  96. package/dist/odata/useODataCollectionQuery.d.ts +34 -0
  97. package/dist/odata/useODataCollectionQuery.d.ts.map +1 -0
  98. package/dist/odata/useODataCollectionUpdatesQuery.d.ts +51 -0
  99. package/dist/odata/useODataCollectionUpdatesQuery.d.ts.map +1 -0
  100. package/dist/odata/useODataEntity.d.ts +28 -0
  101. package/dist/odata/useODataEntity.d.ts.map +1 -0
  102. package/dist/odata/useODataMetadata.d.ts +13 -0
  103. package/dist/odata/useODataMetadata.d.ts.map +1 -0
  104. package/dist/odata/useODataMetadataQuery.d.ts +32 -0
  105. package/dist/odata/useODataMetadataQuery.d.ts.map +1 -0
  106. package/dist/odata/useODataTableColumns.d.ts +69 -0
  107. package/dist/odata/useODataTableColumns.d.ts.map +1 -0
  108. package/dist/odata/useTextServiceQuery.d.ts +3 -0
  109. package/dist/odata/useTextServiceQuery.d.ts.map +1 -0
  110. package/dist/persisted/cache.d.ts +29 -0
  111. package/dist/persisted/cache.d.ts.map +1 -0
  112. package/dist/persisted/index.d.ts +22 -0
  113. package/dist/persisted/index.d.ts.map +1 -0
  114. package/dist/persisted/index.js +339 -0
  115. package/dist/persisted/index.js.map +1 -0
  116. package/dist/persisted/keys.d.ts +21 -0
  117. package/dist/persisted/keys.d.ts.map +1 -0
  118. package/dist/persisted/odata.d.ts +113 -0
  119. package/dist/persisted/odata.d.ts.map +1 -0
  120. package/dist/persisted/payload.d.ts +29 -0
  121. package/dist/persisted/payload.d.ts.map +1 -0
  122. package/dist/persisted/resource.d.ts +87 -0
  123. package/dist/persisted/resource.d.ts.map +1 -0
  124. package/dist/persisted/rest.d.ts +87 -0
  125. package/dist/persisted/rest.d.ts.map +1 -0
  126. package/dist/persisted/types.d.ts +172 -0
  127. package/dist/persisted/types.d.ts.map +1 -0
  128. package/dist/resource/cache.d.ts +22 -0
  129. package/dist/resource/cache.d.ts.map +1 -0
  130. package/dist/resource/index.d.ts +5 -0
  131. package/dist/resource/index.d.ts.map +1 -0
  132. package/dist/resource/index.js +147 -0
  133. package/dist/resource/index.js.map +1 -0
  134. package/dist/resource/keys.d.ts +14 -0
  135. package/dist/resource/keys.d.ts.map +1 -0
  136. package/dist/resource/resource.d.ts +38 -0
  137. package/dist/resource/resource.d.ts.map +1 -0
  138. package/dist/resource/types.d.ts +112 -0
  139. package/dist/resource/types.d.ts.map +1 -0
  140. package/dist/s3/constants.d.ts +12 -0
  141. package/dist/s3/constants.d.ts.map +1 -0
  142. package/dist/s3/fetchFileFromS3.d.ts +13 -0
  143. package/dist/s3/fetchFileFromS3.d.ts.map +1 -0
  144. package/dist/s3/index.d.ts +3 -0
  145. package/dist/s3/index.d.ts.map +1 -0
  146. package/dist/s3/index.js +41 -0
  147. package/dist/s3/index.js.map +1 -0
  148. package/dist/s3/uploadToS3.d.ts +18 -0
  149. package/dist/s3/uploadToS3.d.ts.map +1 -0
  150. package/dist/server-fn/index.d.ts +2 -0
  151. package/dist/server-fn/index.d.ts.map +1 -0
  152. package/dist/server-fn/index.js +37 -0
  153. package/dist/server-fn/index.js.map +1 -0
  154. package/dist/server-fn/serverFn.d.ts +64 -0
  155. package/dist/server-fn/serverFn.d.ts.map +1 -0
  156. package/dist/transport/fetchTransportRequests.d.ts +11 -0
  157. package/dist/transport/fetchTransportRequests.d.ts.map +1 -0
  158. package/dist/transport/index.d.ts +4 -0
  159. package/dist/transport/index.d.ts.map +1 -0
  160. package/dist/transport/index.js +52 -0
  161. package/dist/transport/index.js.map +1 -0
  162. package/dist/transport/normalizeTransportRequests.d.ts +3 -0
  163. package/dist/transport/normalizeTransportRequests.d.ts.map +1 -0
  164. package/dist/transport/types.d.ts +19 -0
  165. package/dist/transport/types.d.ts.map +1 -0
  166. package/package.json +202 -0
@@ -0,0 +1,43 @@
1
+ import { normalizeODataServiceName, resolveODataBaseUrl } from "../odataProjectAdapter";
2
+ import { BaseURLType, RequestInitType } from "./types";
3
+ export { normalizeODataServiceName, resolveODataBaseUrl };
4
+ declare const NO_CONTENT_RESPONSE: Readonly<{
5
+ readonly __noContent: true;
6
+ }>;
7
+ export declare function isNoContentResponse(value: unknown): value is typeof NO_CONTENT_RESPONSE;
8
+ export declare function fetchBase(input: RequestInfo, init?: RequestInitType, baseUrlType?: BaseURLType): Promise<Response>;
9
+ export declare function fetchODataJson<T = unknown>(input: RequestInfo, init?: RequestInitType, baseUrlType?: BaseURLType): Promise<{
10
+ data: T;
11
+ totalCount?: number;
12
+ }>;
13
+ export declare function fetchJson<T = unknown>(input: RequestInfo, init?: RequestInitType, baseUrlType?: BaseURLType): Promise<T>;
14
+ interface FetchQueryFnBaseOptions {
15
+ init?: RequestInit;
16
+ baseUrl?: BaseURLType;
17
+ /** ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² Service Worker (`"off"` | `"ttl=24h"` | `"ttl=24h;max=100;name=ref"` | `"bust=24h"` ΠΈ Ρ‚.Π΄.) */
18
+ swCache?: string;
19
+ }
20
+ interface FetchQueryFnOptions<R> extends FetchQueryFnBaseOptions {
21
+ transform: (data: Response) => Promise<R>;
22
+ }
23
+ export declare function fetchQueryFn<R = unknown>(url: string, options: FetchQueryFnOptions<R>): (params?: {
24
+ signal?: AbortSignal;
25
+ }) => Promise<R>;
26
+ interface FetchJsonQueryFnOptions<T, R> extends FetchQueryFnBaseOptions {
27
+ transform?: (data: T) => R;
28
+ }
29
+ /**
30
+ * @deprecated скоро Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π°
31
+ */
32
+ export declare function fetchJsonQueryFn<T, R = T>(url: string, options?: FetchJsonQueryFnOptions<T, R>): (params?: {
33
+ signal: AbortSignal;
34
+ }) => Promise<R>;
35
+ /**
36
+ * @deprecated скоро Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π°
37
+ */
38
+ export declare function fetchJsonMutationFn<T = unknown, TBody = unknown>(url: string, method?: "POST" | "PUT", baseUrl?: BaseURLType): (body: TBody, signal?: AbortSignal) => Promise<T>;
39
+ /**
40
+ * @deprecated скоро Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΌΠ΅Π½Π°
41
+ */
42
+ export declare function fetchDeleteFn<T = unknown>(url: string, baseUrl?: BaseURLType): (signal?: AbortSignal) => Promise<T>;
43
+ //# sourceMappingURL=fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../../src/odata/transport/fetch.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAyB,MAAM,wBAAwB,CAAC;AAI/G,OAAO,EAAE,WAAW,EAA2B,eAAe,EAAE,MAAM,SAAS,CAAC;AAQhF,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,CAAC;AAsQ1D,QAAA,MAAM,mBAAmB;;EAAgD,CAAC;AAE1E,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,mBAAmB,CAEvF;AA6ND,wBAAsB,SAAS,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,eAAoB,EAAE,WAAW,GAAE,WAAqB,GAAG,OAAO,CAAC,QAAQ,CAAC,CA8BrI;AAED,wBAAsB,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,eAAoB,EAAE,WAAW,GAAE,WAAqB;;iBA3PX,MAAM;GAkR9H;AAED,wBAAsB,SAAS,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,GAAE,eAAoB,EAAE,WAAW,GAAE,WAAqB,cAG9H;AAED,UAAU,uBAAuB;IAChC,IAAI,CAAC,EAAE,WAAW,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,yHAAyH;IACzH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,UAAU,mBAAmB,CAAC,CAAC,CAAE,SAAQ,uBAAuB;IAC/D,SAAS,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;CAC1C;AAED,wBAAgB,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,CAAC,CAAC,CAAC,IAWvE,SAAS;IAAE,MAAM,CAAC,EAAE,WAAW,CAAA;CAAE,KAAG,OAAO,CAAC,CAAC,CAAC,CAa5D;AAED,UAAU,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAE,SAAQ,uBAAuB;IACtE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC;CAC3B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,uBAAuB,CAAC,CAAC,EAAE,CAAC,CAAC,IAIhF,SAAS;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,gBAoB9C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,KAAc,EAAE,OAAO,CAAC,EAAE,WAAW,IACtH,MAAM,KAAK,EAAE,SAAS,WAAW,gBAY/C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,WAAW,IAC9D,SAAS,WAAW,gBAGlC"}
@@ -0,0 +1,5 @@
1
+ export * from "./fetch";
2
+ export * from "./SsoRequiredError";
3
+ export * from "./types";
4
+ export * from "./url";
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/odata/transport/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC"}
@@ -0,0 +1,12 @@
1
+ export type BaseURLType = "odata" | "odataDp0" | "odataUi2" | "config" | "";
2
+ export type RequestInitType = RequestInit & {
3
+ retried?: boolean;
4
+ ssoRetried?: boolean;
5
+ };
6
+ export type FetchErrorReportContext = {
7
+ input: RequestInfo;
8
+ init: RequestInitType;
9
+ baseUrlType: BaseURLType;
10
+ sapClient: string | null;
11
+ };
12
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/odata/transport/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,EAAE,CAAC;AAE5E,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG;IAC3C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACrC,KAAK,EAAE,WAAW,CAAC;IACnB,IAAI,EAAE,eAAe,CAAC;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { BaseURLType } from "./types";
2
+ export declare const BaseODataURL = "/sap/opu/odata/sap";
3
+ /**
4
+ * DP0-прокси ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для сСрвиса, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ явно ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚
5
+ * Ρ‡Π΅Ρ€Π΅Π· `odataProjectAdapter.devDp0Service`.
6
+ */
7
+ export declare const BaseODataDp0URL: string;
8
+ export declare const BaseODataUI2URL: string;
9
+ export declare const BaseAppConfigURL: string;
10
+ export declare const BaseUrlMap: Readonly<Record<BaseURLType, string>>;
11
+ export declare function getInputUrl(input: RequestInfo): string;
12
+ export declare function normalizeRelativePath(url: string): string;
13
+ //# sourceMappingURL=url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"url.d.ts","sourceRoot":"","sources":["../../../src/odata/transport/url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,eAAO,MAAM,YAAY,uBAAuB,CAAC;AACjD;;;GAGG;AACH,eAAO,MAAM,eAAe,QAA2E,CAAC;AACxG,eAAO,MAAM,eAAe,QAA2E,CAAC;AACxG,eAAO,MAAM,gBAAgB,QAA0B,CAAC;AAExD,eAAO,MAAM,UAAU,uCAMrB,CAAC;AAEH,wBAAgB,WAAW,CAAC,KAAK,EAAE,WAAW,UAM7C;AAED,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,UAIhD"}
@@ -0,0 +1,176 @@
1
+ import type { CollectionItem } from "@ryuzaki13/react-foundation-lib/odata";
2
+ import type { FilterExpression, ODataServiceConfig } from "@ryuzaki13/react-foundation-lib/odata-service";
3
+ /**
4
+ * ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° видимости Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΠΎΠ±Ρ‰Π΅ΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².
5
+ *
6
+ * Π’ΠΈΠΏ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ OData/UI API-слою, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ
7
+ * contract-ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°ΠΌΠΈ, Π½ΠΎ ΠΈ runtime-модСлями зависимых OData-сСгмСнтов.
8
+ */
9
+ export type ControlPanelVisibility = "user" | "always" | "none";
10
+ export interface ODataServiceCollectionConfig extends ODataServiceConfig {
11
+ /**
12
+ * Π’Ρ‹Π±ΠΎΡ€ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.
13
+ */
14
+ limitedKeys?: readonly string[];
15
+ serverFilter?: FilterExpression<unknown>;
16
+ }
17
+ export interface ODataCollectionConfig extends ODataServiceCollectionConfig {
18
+ /**
19
+ * НуТно Π»ΠΈ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Ρ‚ΡŒ пустыС ΠΊΠΎΠ΄Ρ‹.
20
+ * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `true`
21
+ */
22
+ excludeEmpty?: true;
23
+ /**
24
+ * Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ° ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ code (`true`) ΠΈΠ»ΠΈ ΠΏΠΎ text (`false`).
25
+ * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `true`
26
+ */
27
+ sortByCode?: boolean;
28
+ hideCode?: true;
29
+ clientFilter?: (item: CollectionItem) => boolean;
30
+ /**
31
+ * ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π² Service Worker.
32
+ * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ `"ttl=forever;name=ref"` для справочников.
33
+ *
34
+ * - `"off"` β€” network-only
35
+ * - `"ttl=24h"` β€” cache-first с TTL
36
+ * - `"ttl=10m;max=200;name=ui"` β€” TTL с Π»ΠΈΠΌΠΈΡ‚ΠΎΠΌ записСй ΠΈ ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ кСшСм
37
+ * - `"ttl=forever;name=ref"` β€” бСссрочноС Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ с ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· version-check
38
+ * - `"bust=24h;name=ref"` β€” ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ кСша
39
+ */
40
+ swCache?: string;
41
+ }
42
+ export interface ODataCollectionSegment {
43
+ placeholder: string;
44
+ hideCode?: true;
45
+ /**
46
+ * Π’ качСствС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ тСкст, вмСсто ΠΊΠΎΠ΄Π°.
47
+ */
48
+ selectText?: true;
49
+ }
50
+ export interface ODataCollectionModel {
51
+ /**
52
+ * ΠšΠ»ΡŽΡ‡ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠ³ΠΎ поля (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, "TEXT_DIVISION")
53
+ */
54
+ codeKey: string;
55
+ /**
56
+ * Минимальная Π΄Π»ΠΈΠ½Π° поискового запроса
57
+ */
58
+ minSearchTextLength?: number;
59
+ /**
60
+ * Минимальная Π΄Π»ΠΈΠ½Π° поискового запроса ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ
61
+ */
62
+ minSearchCodeLength?: number;
63
+ /**
64
+ * ВрСмя Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ для дСбаунсинга поиска (мс)
65
+ */
66
+ searchDebounceDelay?: number;
67
+ /**
68
+ * МаксимальноС количСство ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… элСмСнтов.
69
+ */
70
+ maxVisibleItems?: number;
71
+ }
72
+ export interface ODataCollectionProps<T extends string = string> {
73
+ /**
74
+ * Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ
75
+ *
76
+ * Аналог dependencies[codeKey], вСроятно, Π΅ΡΡ‚ΡŒ смысл ΠΎΡ‚ΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΎΡ‚ этого свойства
77
+ *
78
+ * NOTE: ΠŸΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ Π½Π° ΠΎΠ±Ρ‰Π΅Π΅ свойство всСх UI ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² `value`
79
+ */
80
+ value?: T[];
81
+ /**
82
+ * Зависимости ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²
83
+ */
84
+ dependencies?: Record<T, string[]>;
85
+ }
86
+ export interface ODataSelectBaseProps<T extends string = string> extends ODataCollectionProps<T> {
87
+ /**
88
+ * ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ связанныС с odata.
89
+ *
90
+ * @todo НСобходимо Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ссылки!
91
+ */
92
+ odata: ODataCollectionConfig;
93
+ /**
94
+ * ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сСгмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ odata.
95
+ *
96
+ * @todo НСобходимо Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ссылки!
97
+ */
98
+ segment: ODataCollectionSegment;
99
+ /**
100
+ * ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ odata сСгмСнта.
101
+ *
102
+ * @todo НСобходимо Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ссылки!
103
+ */
104
+ model: ODataCollectionModel;
105
+ }
106
+ export interface ODataSingleSelectProps<T extends string = string> extends Omit<ODataSelectBaseProps<T>, "value"> {
107
+ /**
108
+ * Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡
109
+ */
110
+ value?: T;
111
+ /**
112
+ * Зависимости ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²
113
+ */
114
+ dependencies?: Record<T, string[]>;
115
+ }
116
+ export interface ODataDependentSegment extends ODataCollectionSegment {
117
+ /**
118
+ * ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° отобраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΠΏΠ°Π½Π΅Π»ΠΈ:
119
+ * - "none" β€” всСгда скрыт Π² ΠΏΠ°Π½Π΅Π»ΠΈ;
120
+ * - "user" β€” зависит ΠΎΡ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π°;
121
+ * - "always" β€” всСгда ΠΏΠΎΠΊΠ°Π·Π°Π½ Π² ΠΏΠ°Π½Π΅Π»ΠΈ.
122
+ *
123
+ * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ "user".
124
+ */
125
+ panelVisibility?: ControlPanelVisibility;
126
+ }
127
+ export type ODataDependentSegments = Record<string, ODataDependentSegment>;
128
+ export interface ODataDependentBaseProps extends Omit<ODataSelectBaseProps, "segment" | "model"> {
129
+ /**
130
+ * Π‘Π΅Π³ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ odata.
131
+ *
132
+ * @todo НСобходимо Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ссылки!
133
+ */
134
+ segments: ODataDependentSegments;
135
+ /**
136
+ * ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΌΠΎΠ΄Π΅Π»ΠΈ odata сСгмСнта.
137
+ *
138
+ * @todo НСобходимо Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡ‚Π°Π±ΠΈΠ»ΡŒΠ½ΠΎΡΡ‚ΡŒ ссылки!
139
+ */
140
+ model?: Omit<ODataCollectionModel, "codeKey">;
141
+ }
142
+ export interface ODataDependentSegmentItem {
143
+ /**
144
+ * Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сСгмСнта, совпадаСт с `codeKey`.
145
+ */
146
+ id: string;
147
+ /**
148
+ * ΠšΠ»ΡŽΡ‡ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ OData-сСрвиса (`service.target`).
149
+ */
150
+ serviceKey: string;
151
+ /**
152
+ * ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ сСрвиса Π² исходном массивС.
153
+ */
154
+ serviceIndex: number;
155
+ /**
156
+ * ΠŸΠΎΠ·ΠΈΡ†ΠΈΡ сСгмСнта Π² исходном сСрвисС.
157
+ */
158
+ segmentIndex: number;
159
+ /**
160
+ * ΠžΠ±Ρ‰ΠΈΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ связанныС с odata.
161
+ */
162
+ odata: ODataCollectionConfig;
163
+ /**
164
+ * ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ сСгмСнта.
165
+ */
166
+ segment: ODataDependentSegment;
167
+ /**
168
+ * Нормализованная модСль сСгмСнта с подставлСнным `codeKey`.
169
+ */
170
+ model: ODataCollectionModel;
171
+ /**
172
+ * ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ° отобраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΠΏΠ°Π½Π΅Π»ΠΈ.
173
+ */
174
+ panelVisibility: ControlPanelVisibility;
175
+ }
176
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/odata/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ import { ODataCollectionConfig, ODataCollectionModel } from "./types";
2
+ import type { CollectionItem } from "@ryuzaki13/react-foundation-lib/odata";
3
+ interface UseODataCollectionProps {
4
+ odata: ODataCollectionConfig;
5
+ model: Required<ODataCollectionModel>;
6
+ /**
7
+ * Π Π°Π·ΠΌΠ΅Ρ€ страницы для Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.
8
+ */
9
+ pageSize?: number;
10
+ filter?: (item: CollectionItem) => boolean;
11
+ }
12
+ export declare function useODataCollection({ odata, model, pageSize }: UseODataCollectionProps): {
13
+ data: import("./useODataCollectionQuery").ODataCollectionResult<CollectionItem> | undefined;
14
+ isLoading: boolean;
15
+ isError: boolean;
16
+ codeKey: string;
17
+ textKey: string;
18
+ getItems: (predicate?: (codeValue: string, textValue: string) => boolean, currentSelectedKeys?: readonly CollectionItem[]) => CollectionItem[];
19
+ findSourceItemsByKeys: (key: string, keys: string[]) => CollectionItem[];
20
+ setFilteredItems: (filters: CollectionItem[] | undefined) => void;
21
+ getPage: (pageIndex: number) => CollectionItem[];
22
+ buildSearchIndex: (field: string) => Map<string, Set<string>>;
23
+ debounce: (key: string, fn: () => void, delay?: number) => void;
24
+ itemsMap: Map<string, CollectionItem>;
25
+ separatedItems: CollectionItem[];
26
+ orderedKeys: string[];
27
+ /**
28
+ * @deprecated Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этапС проСктирования, скоро Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½
29
+ */
30
+ refetch: (options?: import("@tanstack/query-core").RefetchOptions) => Promise<import("@tanstack/query-core").QueryObserverResult<import("./useODataCollectionQuery").ODataCollectionResult<CollectionItem>, Error>>;
31
+ /**
32
+ * @deprecated Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° этапС проСктирования, скоро Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ΄Π°Π»Π΅Π½
33
+ */
34
+ invalidate: () => Promise<void>;
35
+ totalCount: number;
36
+ pageSize: number;
37
+ };
38
+ export {};
39
+ //# sourceMappingURL=useODataCollection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataCollection.d.ts","sourceRoot":"","sources":["../../src/odata/useODataCollection.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAGtE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,UAAU,uBAAuB;IAChC,KAAK,EAAE,qBAAqB,CAAC;IAC7B,KAAK,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAEtC;;OAEG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,KAAK,OAAO,CAAC;CAC3C;AAED,wBAAgB,kBAAkB,CAAC,EAClC,KAAK,EACL,KAAK,EAEL,QAAa,EACb,EAAE,uBAAuB;;;;;;2BAwFX,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,wBACvC,SAAS,cAAc,EAAE,KAC7C,cAAc,EAAE;iCA+Db,MAAM,QAAQ,MAAM,EAAE;gCA/ElB,cAAc,EAAE,GAAG,SAAS;yBAkE1B,MAAM,KAAG,cAAc,EAAE;8BArG7B,MAAM;oBA8HoB,MAAM,MAAM,MAAM,IAAI,UAAS,MAAM;;;;IAoDvE;;OAEG;;IAEH;;OAEG;;;;EAOJ"}
@@ -0,0 +1,7 @@
1
+ import { ODataServiceCollectionConfig } from "./types";
2
+ import type { ODataChainsMap } from "@ryuzaki13/react-foundation-lib/odata-service";
3
+ /**
4
+ * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для получСния ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ ΠΊΠΎΠ΄ΠΎΠ².
5
+ */
6
+ export declare function useODataCollectionChains(params: ODataServiceCollectionConfig[]): ODataChainsMap;
7
+ //# sourceMappingURL=useODataCollectionChains.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataCollectionChains.d.ts","sourceRoot":"","sources":["../../src/odata/useODataCollectionChains.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,+CAA+C,CAAC;AAEpF;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,4BAA4B,EAAE,kBA8C9E"}
@@ -0,0 +1,3 @@
1
+ import { ODataCollectionModel } from "./types";
2
+ export declare function useODataCollectionModel(model: ODataCollectionModel): Required<ODataCollectionModel>;
3
+ //# sourceMappingURL=useODataCollectionModel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataCollectionModel.d.ts","sourceRoot":"","sources":["../../src/odata/useODataCollectionModel.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,oBAAoB,GAAG,QAAQ,CAAC,oBAAoB,CAAC,CA4BnG"}
@@ -0,0 +1,34 @@
1
+ import { type CollectionItem, type CollectionPair } from "@ryuzaki13/react-foundation-lib/odata";
2
+ import { UseQueryResult } from "@tanstack/react-query";
3
+ import { ODataCollectionConfig } from "./types";
4
+ import { ODataCollectionUpdateItem } from "./useODataCollectionUpdatesQuery";
5
+ export interface ODataCollectionResult<T extends CollectionItem> {
6
+ items: T[];
7
+ keyPairs: CollectionPair[];
8
+ keyPairsMap: Record<string, string>;
9
+ separated: Record<string, T[]>;
10
+ chain: {
11
+ codeKey: string;
12
+ count: number;
13
+ }[];
14
+ count: number;
15
+ cacheUpdatedAt: number;
16
+ }
17
+ interface ODataCollectionCacheRefreshContext {
18
+ update?: ODataCollectionUpdateItem;
19
+ metadataUpdatedAt?: number;
20
+ updatesCoverageStartedAt?: number;
21
+ }
22
+ export declare function resolveODataCollectionSwCachePolicy(swCache: string, shouldBust: boolean): string;
23
+ /**
24
+ * ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ справочник ΠΏΠΎ списку ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.
25
+ * Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ ΠΈΠ΄Ρ‘Ρ‚ с cacheUpdatedAt, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ сохраняСтся вмСстС с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ справочника.
26
+ */
27
+ export declare function shouldRefreshODataCollectionCache<T extends CollectionItem>(context: ODataCollectionCacheRefreshContext, cachedData: ODataCollectionResult<T> | undefined): boolean;
28
+ /**
29
+ * Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ Ρ…ΡƒΠΊ для получСния Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· OData сСрвиса.
30
+ * ЗамСняСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π» TextDataService ΠΈΠ· SAP UI5.
31
+ */
32
+ export declare function useODataCollectionQuery<T extends CollectionItem>(odata: ODataCollectionConfig): UseQueryResult<ODataCollectionResult<T>>;
33
+ export {};
34
+ //# sourceMappingURL=useODataCollectionQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataCollectionQuery.d.ts","sourceRoot":"","sources":["../../src/odata/useODataCollectionQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAEvH,OAAO,EAA4B,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAGN,yBAAyB,EAEzB,MAAM,kCAAkC,CAAC;AAG1C,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS,cAAc;IAC9D,KAAK,EAAE,CAAC,EAAE,CAAC;IACX,QAAQ,EAAE,cAAc,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpC,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IAC/B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;CACvB;AAED,UAAU,kCAAkC;IAC3C,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,wBAAwB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,UAQvF;AAMD;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,SAAS,cAAc,EACzE,OAAO,EAAE,kCAAkC,EAC3C,UAAU,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,SAAS,WA0BhD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,CAAC,SAAS,cAAc,EAAE,KAAK,EAAE,qBAAqB,GAAG,cAAc,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC,CAkGxI"}
@@ -0,0 +1,51 @@
1
+ export declare const ODATA_COLLECTION_UPDATES_LOOKBACK_MS: number;
2
+ export declare const ODATA_COLLECTION_DEFAULT_SW_CACHE = "ttl=forever;name=ref";
3
+ export declare const ODATA_COLLECTION_BUST_SW_CACHE = "bust=forever;name=ref";
4
+ export declare const ODATA_COLLECTION_UPDATES_SW_CACHE = "ttl=4h;name=ref-updates";
5
+ interface ODataCollectionUpdateRecord {
6
+ entityName: string;
7
+ lastChanged: string;
8
+ }
9
+ export interface ODataCollectionUpdateItem extends ODataCollectionUpdateRecord {
10
+ lastChangedAt: Date | null;
11
+ }
12
+ export interface ODataCollectionUpdatesResult {
13
+ items: ODataCollectionUpdateItem[];
14
+ byEntityName: Record<string, ODataCollectionUpdateItem>;
15
+ fetchedAt: number;
16
+ coverageStartedAt: number;
17
+ }
18
+ export interface ODataCollectionUpdatesOptions {
19
+ staleTime?: number;
20
+ }
21
+ export declare const createODataCollectionUpdatesQueryKey: () => readonly ["odata", "collection-updates", {
22
+ readonly buildId: string;
23
+ }];
24
+ /**
25
+ * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠΌΠΏΠ°ΠΊΡ‚Π½Ρ‹ΠΉ список справочников, ΠΈΠ·ΠΌΠ΅Π½Ρ‘Π½Π½Ρ‹Ρ… Π·Π° послСдниС 7 Π΄Π½Π΅ΠΉ.
26
+ * Π‘Π°ΠΌ список ΠΆΠΈΠ²Ρ‘Ρ‚ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚ Π΄Π°Π½Π½Ρ‹Ρ… справочников ΠΈ управляСт ΠΈΡ… Ρ‚ΠΎΡ‡Π΅Ρ‡Π½ΠΎΠΉ ΠΈΠ½Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΠ΅ΠΉ.
27
+ */
28
+ export declare function fetchODataCollectionUpdates(): ({ signal }: {
29
+ signal: AbortSignal;
30
+ }) => Promise<ODataCollectionUpdatesResult>;
31
+ /**
32
+ * ΠžΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ ΠΎΠ±Ρ‰ΠΈΠΉ TanStack Query со списком ΠΎΠ±Π½ΠΎΠ²Π»Ρ‘Π½Π½Ρ‹Ρ… справочников.
33
+ * Query сохраняСтся Π² IndexedDB ΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΊΠ΅ΡˆΠΈΡ€ΡƒΠ΅Ρ‚ΡΡ Service Worker Π½Π° ΠΊΠΎΡ€ΠΎΡ‚ΠΊΠΈΠΉ TTL.
34
+ */
35
+ export declare const odataCollectionUpdatesQueryOptions: (options?: ODataCollectionUpdatesOptions) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<ODataCollectionUpdatesResult, Error, ODataCollectionUpdatesResult, readonly ["odata", "collection-updates", {
36
+ readonly buildId: string;
37
+ }]>, "queryFn"> & {
38
+ queryFn?: import("@tanstack/query-core").QueryFunction<ODataCollectionUpdatesResult, readonly ["odata", "collection-updates", {
39
+ readonly buildId: string;
40
+ }], never> | undefined;
41
+ } & {
42
+ queryKey: readonly ["odata", "collection-updates", {
43
+ readonly buildId: string;
44
+ }] & {
45
+ [dataTagSymbol]: ODataCollectionUpdatesResult;
46
+ [dataTagErrorSymbol]: Error;
47
+ };
48
+ };
49
+ export declare function useODataCollectionUpdatesQuery(options?: ODataCollectionUpdatesOptions): import("@tanstack/react-query").UseQueryResult<NoInfer<ODataCollectionUpdatesResult>, Error>;
50
+ export {};
51
+ //# sourceMappingURL=useODataCollectionUpdatesQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataCollectionUpdatesQuery.d.ts","sourceRoot":"","sources":["../../src/odata/useODataCollectionUpdatesQuery.ts"],"names":[],"mappings":"AAUA,eAAO,MAAM,oCAAoC,QAA0B,CAAC;AAC5E,eAAO,MAAM,iCAAiC,yBAAyB,CAAC;AACxE,eAAO,MAAM,8BAA8B,0BAA0B,CAAC;AACtE,eAAO,MAAM,iCAAiC,4BAA4B,CAAC;AAE3E,UAAU,2BAA2B;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,yBAA0B,SAAQ,2BAA2B;IAC7E,aAAa,EAAE,IAAI,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,4BAA4B;IAC5C,KAAK,EAAE,yBAAyB,EAAE,CAAC;IACnC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,CAAC;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,6BAA6B;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,oCAAoC;;EAC+C,CAAC;AAsBjG;;;GAGG;AACH,wBAAgB,2BAA2B,KAC5B,YAAY;IAAE,MAAM,EAAE,WAAW,CAAA;CAAE,KAAG,OAAO,CAAC,4BAA4B,CAAC,CAgBzF;AAED;;;GAGG;AACH,eAAO,MAAM,kCAAkC,GAAI,UAAS,6BAAkC;;;;;;;;;;;;;CAQ3F,CAAC;AAEJ,wBAAgB,8BAA8B,CAAC,OAAO,GAAE,6BAAkC,gGAEzF"}
@@ -0,0 +1,28 @@
1
+ import { type ODataServiceConfig, type ODataValue } from "@ryuzaki13/react-foundation-lib/odata-service";
2
+ import type { CollectionPair } from "@ryuzaki13/react-foundation-lib/odata";
3
+ export type ODataEntity = Omit<ReturnType<typeof useODataEntity>, "isLoading">;
4
+ export declare function useODataEntity(odata: ODataServiceConfig): {
5
+ config: ODataServiceConfig;
6
+ metadata: import("@ryuzaki13/react-foundation-lib/odata-service").EntityMetadata | undefined;
7
+ metadataUpdatedAt: number;
8
+ isLoading: boolean;
9
+ actions: {
10
+ /**
11
+ * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку запроса `/service/entity(parameters)/Results`
12
+ */
13
+ getEntityPath: (values?: Record<string, ODataValue>) => string;
14
+ /**
15
+ * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС ΠΊΠ»ΡŽΡ‡ΠΈ сущности
16
+ */
17
+ getKeys: () => string[];
18
+ /**
19
+ * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ `{ codeKey, textKey }`
20
+ */
21
+ getKeyPairs: () => CollectionPair[];
22
+ /**
23
+ * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ»ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ `{ code: text }`
24
+ */
25
+ getKeyPairsMap: () => Record<string, string>;
26
+ };
27
+ };
28
+ //# sourceMappingURL=useODataEntity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataEntity.d.ts","sourceRoot":"","sources":["../../src/odata/useODataEntity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmB,KAAK,kBAAkB,EAAE,KAAK,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAI1H,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAW5E,MAAM,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,EAAE,WAAW,CAAC,CAAC;AAE/E,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB;;;;;;QAgCrD;;WAEG;iCA9B2B,MAAM,CAAC,MAAM,EAAE,UAAU,CAAC;QAgCxD;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;;EAML"}
@@ -0,0 +1,13 @@
1
+ import type { ODataServiceConfig } from "@ryuzaki13/react-foundation-lib/odata-service";
2
+ /**
3
+ * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ metadata ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΉ OData-сущности ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ сСрвиса ΠΈ сущности.
4
+ *
5
+ * Π₯ΡƒΠΊ Π½Π΅ добавляСт ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½ΡƒΡŽ бизнСс-Π»ΠΎΠ³ΠΈΠΊΡƒ ΠΈ слуТит ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎΠΉ Ρ‚ΠΎΠ½ΠΊΠΎΠΉ
6
+ * прослойкой Π½Π°Π΄ `useODataMetadataQuery(...)`.
7
+ */
8
+ export declare function useODataMetadata(odata: ODataServiceConfig): {
9
+ metadata: import("@ryuzaki13/react-foundation-lib/odata-service").EntityMetadata | undefined;
10
+ metadataUpdatedAt: number;
11
+ isLoading: boolean;
12
+ };
13
+ //# sourceMappingURL=useODataMetadata.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataMetadata.d.ts","sourceRoot":"","sources":["../../src/odata/useODataMetadata.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB;;;;EAazD"}
@@ -0,0 +1,32 @@
1
+ import { QueryClient } from "@tanstack/react-query";
2
+ import { ODataMetadataVersionOptions, ODataMetadataVersionResult } from "./metadataVersionCheck";
3
+ import { BaseURLType } from "./transport";
4
+ import type { ODataServiceConfig } from "@ryuzaki13/react-foundation-lib/odata-service";
5
+ type ODataMetadataOptions = Pick<ODataServiceConfig, "service"> & {
6
+ baseUrl?: BaseURLType;
7
+ };
8
+ export declare function fetchMetadata(options: ODataMetadataOptions): (params?: {
9
+ signal?: AbortSignal;
10
+ } | undefined) => Promise<import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata>;
11
+ export declare const odataMetadataQueryOptions: (options: ODataMetadataOptions) => import("@tanstack/query-core").OmitKeyof<import("@tanstack/react-query").UseQueryOptions<import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata, Error, import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata, (string | ODataMetadataOptions)[]>, "queryFn"> & {
12
+ queryFn?: import("@tanstack/query-core").QueryFunction<import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata, (string | ODataMetadataOptions)[], never> | undefined;
13
+ } & {
14
+ queryKey: (string | ODataMetadataOptions)[] & {
15
+ [dataTagSymbol]: import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata;
16
+ [dataTagErrorSymbol]: Error;
17
+ };
18
+ };
19
+ /**
20
+ * ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ version-check ΠΊ metadata query Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅ ΠΎΠ±Ρ‰Π΅Π³ΠΎ QueryClient.
21
+ * Metadata refetch Π½ΡƒΠΆΠ΅Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли сСрвСрная вСрсия Π½ΠΎΠ²Π΅Π΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ обновлСния metadata cache.
22
+ */
23
+ export declare function applyODataMetadataVersion(queryClient: QueryClient, options: ODataMetadataOptions, version: ODataMetadataVersionResult): Promise<void>;
24
+ export declare function useODataMetadataQuery(options: ODataMetadataOptions): import("@tanstack/react-query").UseQueryResult<NoInfer<import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata>, Error>;
25
+ /**
26
+ * ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΉ доступ ΠΊ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρƒ version-check Π±Π΅Π· Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ самих metadata.
27
+ * ПолСзно для глобальной диагностики ΠΈ Ρ€ΡƒΡ‡Π½ΠΎΠ³ΠΎ управлСния частотой опроса.
28
+ */
29
+ export declare function useODataMetadataVersionQuery(options: ODataMetadataVersionOptions): import("@tanstack/react-query").UseQueryResult<NoInfer<ODataMetadataVersionResult>, Error>;
30
+ export declare function getODataMetadataData(options: ODataMetadataOptions, queryClient: QueryClient): Promise<import("@ryuzaki13/react-foundation-lib/odata-service").ServiceMetadata | undefined>;
31
+ export {};
32
+ //# sourceMappingURL=useODataMetadataQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataMetadataQuery.d.ts","sourceRoot":"","sources":["../../src/odata/useODataMetadataQuery.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAA0C,MAAM,uBAAuB,CAAC;AAE5F,OAAO,EAEN,2BAA2B,EAE3B,0BAA0B,EAE1B,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EAAE,WAAW,EAAqC,MAAM,aAAa,CAAC;AAE7E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAExF,KAAK,oBAAoB,GAAG,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,WAAW,CAAA;CAAE,CAAC;AAE5F,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB;;mGAiB1D;AAED,eAAO,MAAM,yBAAyB,GAAI,SAAS,oBAAoB;;;;;;;CAYpE,CAAC;AAEJ;;;GAGG;AACH,wBAAsB,yBAAyB,CAC9C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,oBAAoB,EAC7B,OAAO,EAAE,0BAA0B,iBAWnC;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,oBAAoB,2IAclE;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,2BAA2B,8FAEhF;AAeD,wBAAsB,oBAAoB,CAAC,OAAO,EAAE,oBAAoB,EAAE,WAAW,EAAE,WAAW,gGAKjG"}
@@ -0,0 +1,69 @@
1
+ import { type TableColumnDef, type TableColumnFormattingMetaInput } from "@ryuzaki13/react-foundation-lib/table";
2
+ import type { EntityColumnProperty, EntityMetadata, ODataServiceConfig } from "@ryuzaki13/react-foundation-lib/odata-service";
3
+ /**
4
+ * ΠšΠΎΠ½Ρ„ΠΈΠ³ hook-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ `build`.
5
+ */
6
+ export interface UseODataTableColumnsBuildConfig extends Pick<ODataServiceConfig, "service" | "target"> {
7
+ /**
8
+ * Π Π΅ΠΆΠΈΠΌ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎ metadata.
9
+ */
10
+ mode: "build";
11
+ /**
12
+ * ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ.
13
+ */
14
+ resolveVisible?: (column: EntityColumnProperty) => boolean;
15
+ /**
16
+ * ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΈ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ.
17
+ */
18
+ resolveHeader?: (column: EntityColumnProperty) => string;
19
+ /**
20
+ * ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ сразу Π½Π°Π²Π΅ΡΠΈΡ‚ΡŒ formatting-ΠΊΠΎΠ½Ρ„ΠΈΠ³ Π½Π° generated column.
21
+ */
22
+ resolveFormatting?: (column: EntityColumnProperty) => TableColumnFormattingMetaInput | undefined;
23
+ }
24
+ /**
25
+ * ΠšΠΎΠ½Ρ„ΠΈΠ³ hook-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ `enrich`.
26
+ */
27
+ export interface UseODataTableColumnsEnrichConfig<TData extends object> extends Pick<ODataServiceConfig, "service" | "target"> {
28
+ /**
29
+ * Π Π΅ΠΆΠΈΠΌ обогащСния ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
30
+ */
31
+ mode: "enrich";
32
+ /**
33
+ * Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для дозаполнСния `meta.formatting.role/type`.
34
+ */
35
+ columns: readonly TableColumnDef<TData>[];
36
+ }
37
+ /**
38
+ * Π£Π½ΠΈΠ²Π΅Ρ€ΡΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ„ΠΈΠ³ hook-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
39
+ */
40
+ export type UseODataTableColumnsConfig<TData extends object = Record<string, unknown>> = UseODataTableColumnsBuildConfig | UseODataTableColumnsEnrichConfig<TData>;
41
+ /**
42
+ * Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρ‹ hook-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.
43
+ */
44
+ export interface UseODataTableColumnsResult<TData extends object> {
45
+ /**
46
+ * Π˜Ρ‚ΠΎΠ³ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для `Table` ΠΈΠ»ΠΈ `TreeTable`.
47
+ */
48
+ columns: TableColumnDef<TData>[];
49
+ /**
50
+ * Бтартовая ΠΊΠ°Ρ€Ρ‚Π° видимости ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для TanStack Table.
51
+ */
52
+ defaultColumnVisibility: Record<string, boolean> | undefined;
53
+ /**
54
+ * ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ сущности, Ссли ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹.
55
+ */
56
+ metadata: EntityMetadata | undefined;
57
+ /**
58
+ * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ metadata.
59
+ */
60
+ isLoading: boolean;
61
+ }
62
+ /**
63
+ * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ для `Table`/`TreeTable` Π½Π° основС OData metadata.
64
+ *
65
+ * Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ `build` Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ· `metadata.columns`.
66
+ * Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ `enrich` дозаполняСт ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ typed-formatting контСкстом.
67
+ */
68
+ export declare function useODataTableColumns<TData extends object = Record<string, unknown>>(config: UseODataTableColumnsConfig<TData>): UseODataTableColumnsResult<TData>;
69
+ //# sourceMappingURL=useODataTableColumns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useODataTableColumns.d.ts","sourceRoot":"","sources":["../../src/odata/useODataTableColumns.ts"],"names":[],"mappings":"AAEA,OAAO,EACN,KAAK,cAAc,EACnB,KAAK,8BAA8B,EAKnC,MAAM,uCAAuC,CAAC;AAI/C,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,+CAA+C,CAAC;AAgC9H;;GAEG;AACH,MAAM,WAAW,+BAAgC,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,CAAC;IACtG;;OAEG;IACH,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,OAAO,CAAC;IAC3D;;OAEG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,MAAM,CAAC;IACzD;;OAEG;IACH,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,8BAA8B,GAAG,SAAS,CAAC;CACjG;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC,CAAC,KAAK,SAAS,MAAM,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,CAAC;IAC7H;;OAEG;IACH,IAAI,EAAE,QAAQ,CAAC;IACf;;OAEG;IACH,OAAO,EAAE,SAAS,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;CAC1C;AAED;;GAEG;AACH,MAAM,MAAM,0BAA0B,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACpF,+BAA+B,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,KAAK,SAAS,MAAM;IAC/D;;OAEG;IACH,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;IACjC;;OAEG;IACH,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IAC7D;;OAEG;IACH,QAAQ,EAAE,cAAc,GAAG,SAAS,CAAC;IACrC;;OAEG;IACH,SAAS,EAAE,OAAO,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,SAAS,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClF,MAAM,EAAE,0BAA0B,CAAC,KAAK,CAAC,GACvC,0BAA0B,CAAC,KAAK,CAAC,CAwCnC"}
@@ -0,0 +1,3 @@
1
+ import type { CollectionItem } from "@ryuzaki13/react-foundation-lib/odata";
2
+ export declare function useTextServiceQuery<T extends CollectionItem>(target: string): import("@tanstack/react-query").UseQueryResult<import("./useODataCollectionQuery").ODataCollectionResult<T>>;
3
+ //# sourceMappingURL=useTextServiceQuery.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTextServiceQuery.d.ts","sourceRoot":"","sources":["../../src/odata/useTextServiceQuery.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAE5E,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,cAAc,EAAE,MAAM,EAAE,MAAM,gHAE3E"}