@osdk/react 0.9.0-beta.8 → 0.9.0-rc.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +49 -0
- package/build/browser/intellisense.test.helpers/useOsdkObjectsWithProperties.js +1 -1
- package/build/browser/intellisense.test.helpers/useOsdkObjectsWithProperties.js.map +1 -1
- package/build/browser/new/useLinks.js +14 -7
- package/build/browser/new/useLinks.js.map +1 -1
- package/build/browser/new/useObjectSet.js +3 -2
- package/build/browser/new/useObjectSet.js.map +1 -1
- package/build/browser/new/useOsdkAggregation.js.map +1 -1
- package/build/browser/new/useOsdkObjects.js +16 -17
- package/build/browser/new/useOsdkObjects.js.map +1 -1
- package/build/browser/public/experimental.js.map +1 -1
- package/build/cjs/public/experimental.cjs +35 -23
- package/build/cjs/public/experimental.cjs.map +1 -1
- package/build/cjs/public/experimental.d.cts +75 -80
- package/build/esm/intellisense.test.helpers/useOsdkObjectsWithProperties.js +1 -1
- package/build/esm/intellisense.test.helpers/useOsdkObjectsWithProperties.js.map +1 -1
- package/build/esm/new/useLinks.js +14 -7
- package/build/esm/new/useLinks.js.map +1 -1
- package/build/esm/new/useObjectSet.js +3 -2
- package/build/esm/new/useObjectSet.js.map +1 -1
- package/build/esm/new/useOsdkAggregation.js.map +1 -1
- package/build/esm/new/useOsdkObjects.js +16 -17
- package/build/esm/new/useOsdkObjects.js.map +1 -1
- package/build/esm/public/experimental.js.map +1 -1
- package/build/types/new/useObjectSet.d.ts +4 -0
- package/build/types/new/useObjectSet.d.ts.map +1 -1
- package/build/types/new/useOsdkAggregation.d.ts +6 -7
- package/build/types/new/useOsdkAggregation.d.ts.map +1 -1
- package/build/types/new/useOsdkObjects.d.ts +63 -73
- package/build/types/new/useOsdkObjects.d.ts.map +1 -1
- package/build/types/public/experimental.d.ts +1 -1
- package/build/types/public/experimental.d.ts.map +1 -1
- package/docs/getting-started.md +6 -10
- package/docs/querying-data.md +28 -0
- package/package.json +7 -7
- package/build/browser/new/types.js +0 -2
- package/build/browser/new/types.js.map +0 -1
- package/build/esm/new/types.js +0 -2
- package/build/esm/new/types.js.map +0 -1
- package/build/types/new/types.d.ts +0 -5
- package/build/types/new/types.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useOsdkObjects.js","names":["React","makeExternalStore","OsdkContext2","useOsdkObjects","type","options","pageSize","orderBy","dedupeIntervalMs","where","streamUpdates","withProperties","autoFetchMore","intersectWith","pivotTo","enabled","observableClient","useContext","canonWhere","canonicalizeWhereClause","stableWithProperties","useMemo","JSON","stringify","stableIntersectWith","stableOrderBy","subscribe","getSnapShot","unsubscribe","process","env","NODE_ENV","apiName","observer","observeList","dedupeInterval","listPayload","useSyncExternalStore","error","status","Error","fetchMore","hasMore","undefined","data","resolvedList","isLoading","isOptimistic"],"sources":["useOsdkObjects.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DerivedProperty,\n LinkedType,\n LinkNames,\n ObjectOrInterfaceDefinition,\n Osdk,\n PropertyKeys,\n SimplePropertyDef,\n WhereClause,\n} from \"@osdk/api\";\nimport type { ObserveObjectsCallbackArgs } from \"@osdk/client/unstable-do-not-use\";\nimport React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\nimport type { InferRdpTypes } from \"./types.js\";\n\nexport interface UseOsdkObjectsOptions<\n T extends ObjectOrInterfaceDefinition,\n WithProps extends DerivedProperty.Clause<T> | undefined = undefined,\n> {\n /**\n * Standard OSDK Where with RDP support\n */\n where?: WhereClause<T, InferRdpTypes<T, WithProps>>;\n\n /**\n * The preferred page size for the list.\n */\n pageSize?: number;\n\n /** */\n orderBy?: {\n [K in PropertyKeys<T>]?: \"asc\" | \"desc\";\n };\n\n /**\n * Define derived properties (RDPs) to be computed server-side and attached to each object.\n * These properties will be available on the returned objects alongside their regular properties.\n */\n withProperties?: WithProps;\n\n /**\n * Intersect the results with additional object sets.\n * Each element defines a where clause for an object set to intersect with.\n * The final result will only include objects that match ALL conditions.\n */\n intersectWith?: Array<{\n where: WhereClause<T, InferRdpTypes<T, WithProps>>;\n }>;\n\n /**\n * Pivot to related objects through a link.\n * This changes the return type from T to the linked object type.\n */\n pivotTo?: LinkNames<T>;\n\n /**\n * Causes the list to automatically fetch more as soon as the previous page\n * has been loaded. If a number is provided, it will continue to automatically\n * fetch more until the list is at least that long.\n *\n * - `true`: Fetch all available pages automatically\n * - `number`: Fetch pages until at least this many items are loaded\n * - `undefined` (default): Only fetch the first page, user must call fetchMore()\n *\n * Note: When using `autoFetchMore: true` with large datasets, the initial\n * load may take significant time. Consider using a specific number instead\n * or implementing virtual scrolling.\n *\n * @example\n * // Fetch all todos at once\n * const { data } = useOsdkObjects(Todo, { autoFetchMore: true })\n *\n * @example\n * // Fetch at least 100 todos (with 25 per page, fetches 4 pages)\n * const { data } = useOsdkObjects(Todo, {\n * autoFetchMore: 100,\n * pageSize: 25\n * })\n */\n autoFetchMore?: boolean | number;\n\n /**\n * Upon a list being revalidated, this option determines how the component\n * will be re-rendered with the data.\n *\n * An example to help understand the options:\n *\n * Suppose pageSize is 10 and we have called `fetchMore()` twice. The list is\n * now 30 items long.\n *\n * Upon revalidation, we get the first 10 items of the list. The options behave\n * as follows:\n *\n * - `\"in-place\"`: The first 10 items of the list are replaced with the new 10\n * items. The list is now 30 items long, but only the first 10 items are valid.\n * - `\"wait\"`: The old list is returned until after the next 20 items are loaded\n * (which will happen automatically). The list is now 30 items long.\n * - `\"reset\"`: The entire list is replaced with the new 10 items. The list is\n * now 10 items long.\n */\n // invalidationMode?: \"in-place\" | \"wait\" | \"reset\";\n\n /**\n * The number of milliseconds to wait after the last observed list change.\n *\n * Two uses of `useOsdkObjects` with the where clause will only trigger one\n * network request if the second is within `dedupeIntervalMs`.\n */\n dedupeIntervalMs?: number;\n\n streamUpdates?: boolean;\n\n /**\n * Enable or disable the query.\n *\n * When `false`, the query will not automatically execute. It will still\n * return any cached data, but will not fetch from the server.\n *\n * This is useful for:\n * - Lazy/on-demand queries that should wait for user interaction\n * - Dependent queries that need data from another query first\n * - Conditional queries based on component state\n *\n * @default true\n * @example\n * // Dependent query - wait for parent data\n * const { data: employee } = useOsdkObject(Employee, employeeId);\n * const { data: reports } = useOsdkObjects(Employee, {\n * where: { managerId: employee?.id },\n * enabled: !!employee\n * });\n */\n enabled?: boolean;\n}\n\nexport interface UseOsdkListResult<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n> {\n fetchMore: (() => Promise<void>) | undefined;\n data:\n | Osdk.Instance<T, \"$allBaseProperties\", PropertyKeys<T>, RDPs>[]\n | undefined;\n isLoading: boolean;\n\n error: Error | undefined;\n\n /**\n * Refers to whether the ordered list of objects (only considering the $primaryKey)\n * is optimistic or not.\n *\n * If you need to know if the contents of the list are optimistic you can\n * do that on a per object basis with useOsdkObject\n */\n isOptimistic: boolean;\n}\n\ndeclare const process: {\n env: {\n NODE_ENV: \"development\" | \"production\";\n };\n};\n\nexport function useOsdkObjects<\n Q extends ObjectOrInterfaceDefinition,\n L extends LinkNames<Q>,\n>(\n type: Q,\n options: UseOsdkObjectsOptions<Q> & { pivotTo: L },\n): UseOsdkListResult<LinkedType<Q, L>>;\n\nexport function useOsdkObjects<\n Q extends ObjectOrInterfaceDefinition,\n WP extends DerivedProperty.Clause<Q> | undefined,\n>(\n type: Q,\n options?: UseOsdkObjectsOptions<Q, WP>,\n): UseOsdkListResult<Q, InferRdpTypes<Q, WP>>;\n\nexport function useOsdkObjects<\n Q extends ObjectOrInterfaceDefinition,\n WP extends DerivedProperty.Clause<Q> | undefined,\n>(\n type: Q,\n options?: UseOsdkObjectsOptions<Q, WP>,\n):\n | UseOsdkListResult<Q, InferRdpTypes<Q, WP>>\n | UseOsdkListResult<LinkedType<Q, LinkNames<Q>>>\n{\n const {\n pageSize,\n orderBy,\n dedupeIntervalMs,\n where = {},\n streamUpdates,\n withProperties,\n autoFetchMore,\n intersectWith,\n pivotTo,\n enabled = true,\n } = options ?? {};\n const { observableClient } = React.useContext(OsdkContext2);\n\n /* We want the canonical where clause so that the use of `React.useMemo`\n is stable. No real added cost as we canonicalize internal to\n the ObservableClient anyway.\n */\n const canonWhere = observableClient.canonicalizeWhereClause<\n Q,\n InferRdpTypes<Q, WP>\n >(where ?? {});\n\n const stableWithProperties = React.useMemo(\n () => withProperties,\n [JSON.stringify(withProperties)],\n );\n\n const stableIntersectWith = React.useMemo(\n () => intersectWith,\n [JSON.stringify(intersectWith)],\n );\n\n const stableOrderBy = React.useMemo(\n () => orderBy,\n [JSON.stringify(orderBy)],\n );\n\n const { subscribe, getSnapShot } = React.useMemo(\n () => {\n if (!enabled) {\n return makeExternalStore<\n ObserveObjectsCallbackArgs<Q, InferRdpTypes<Q, WP>>\n >(\n () => ({ unsubscribe: () => {} }),\n process.env.NODE_ENV !== \"production\"\n ? `list ${type.apiName} ${JSON.stringify(canonWhere)} [DISABLED]`\n : void 0,\n );\n }\n return makeExternalStore<\n ObserveObjectsCallbackArgs<Q, InferRdpTypes<Q, WP>>\n >(\n (observer) =>\n observableClient.observeList({\n type,\n where: canonWhere,\n dedupeInterval: dedupeIntervalMs ?? 2_000,\n pageSize,\n orderBy: stableOrderBy,\n streamUpdates,\n withProperties: stableWithProperties,\n autoFetchMore,\n ...(stableIntersectWith\n ? { intersectWith: stableIntersectWith }\n : {}),\n ...(pivotTo ? { pivotTo } : {}),\n }, observer),\n process.env.NODE_ENV !== \"production\"\n ? `list ${type.apiName} ${JSON.stringify(canonWhere)}`\n : void 0,\n );\n },\n [\n enabled,\n observableClient,\n type,\n canonWhere,\n dedupeIntervalMs,\n pageSize,\n stableOrderBy,\n streamUpdates,\n stableWithProperties,\n autoFetchMore,\n stableIntersectWith,\n pivotTo,\n ],\n );\n\n const listPayload = React.useSyncExternalStore(subscribe, getSnapShot);\n\n let error: Error | undefined;\n if (listPayload && \"error\" in listPayload && listPayload.error) {\n error = listPayload.error;\n } else if (listPayload?.status === \"error\") {\n error = new Error(\"Failed to load objects\");\n }\n\n return {\n fetchMore: listPayload?.hasMore ? listPayload.fetchMore : undefined,\n error,\n data: listPayload?.resolvedList,\n isLoading: enabled\n ? (listPayload?.status === \"loading\" || listPayload?.status === \"init\"\n || !listPayload)\n : false,\n isOptimistic: listPayload?.isOptimistic ?? false,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"useOsdkObjects.js","names":["React","makeExternalStore","OsdkContext2","useOsdkObjects","type","options","observableClient","useContext","pageSize","dedupeIntervalMs","withProperties","enabled","rids","where","orderBy","streamUpdates","autoFetchMore","intersectWith","pivotTo","canonWhere","canonicalizeWhereClause","stableRids","useMemo","JSON","stringify","stableWithProperties","stableIntersectWith","stableOrderBy","subscribe","getSnapShot","unsubscribe","process","env","NODE_ENV","apiName","observer","observeList","dedupeInterval","length","listPayload","useSyncExternalStore","error","status","Error","fetchMore","hasMore","undefined","data","resolvedList","isLoading","isOptimistic","totalCount"],"sources":["useOsdkObjects.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DerivedProperty,\n LinkedType,\n LinkNames,\n ObjectOrInterfaceDefinition,\n Osdk,\n PropertyKeys,\n SimplePropertyDef,\n WhereClause,\n} from \"@osdk/api\";\nimport type { ObserveObjectsCallbackArgs } from \"@osdk/client/unstable-do-not-use\";\nimport React from \"react\";\nimport { makeExternalStore } from \"./makeExternalStore.js\";\nimport { OsdkContext2 } from \"./OsdkContext2.js\";\n\nexport interface UseOsdkObjectsOptions<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n> {\n /**\n * Fetch objects by their RIDs (Resource Identifiers).\n * When provided, starts with a static objectset containing these RIDs.\n * Can be combined with `where` to filter the RID set, and with `orderBy` to sort results.\n *\n * @example\n * // Fetch specific objects by RID\n * useOsdkObjects(Employee, { rids: ['ri.foo.123', 'ri.foo.456'] })\n *\n * @example\n * // Fetch specific objects by RID, filtered by status\n * useOsdkObjects(Employee, {\n * rids: ['ri.foo.123', 'ri.foo.456', 'ri.foo.789'],\n * where: { status: 'active' }\n * })\n */\n rids?: readonly string[];\n\n /**\n * Standard OSDK Where clause with RDP support.\n * When used with `rids`, filters the RID set.\n * When used alone, filters all objects of the type.\n */\n where?: WhereClause<T, RDPs>;\n\n /**\n * Sort results by one or more properties.\n */\n orderBy?: {\n [K in PropertyKeys<T>]?: \"asc\" | \"desc\";\n };\n\n /**\n * The preferred page size for the list.\n */\n pageSize?: number;\n\n /**\n * Define derived properties (RDPs) to be computed server-side and attached to each object.\n * These properties will be available on the returned objects alongside their regular properties.\n */\n withProperties?: { [K in keyof RDPs]: DerivedProperty.Creator<T, RDPs[K]> };\n\n /**\n * The number of milliseconds to wait after the last observed list change.\n *\n * Two uses of `useOsdkObjects` with the same parameters will only trigger one\n * network request if the second is within `dedupeIntervalMs`.\n */\n dedupeIntervalMs?: number;\n\n /**\n * Enable or disable the query.\n *\n * When `false`, the query will not automatically execute. It will still\n * return any cached data, but will not fetch from the server.\n *\n * @default true\n */\n enabled?: boolean;\n\n /**\n * Intersect the results with additional object sets.\n * Each element defines a where clause for an object set to intersect with.\n * The final result will only include objects that match ALL conditions.\n */\n intersectWith?: Array<{\n where: WhereClause<T, RDPs>;\n }>;\n\n /**\n * Pivot to related objects through a link.\n * This changes the return type from T to the linked object type.\n */\n pivotTo?: LinkNames<T>;\n\n /**\n * Causes the list to automatically fetch more as soon as the previous page\n * has been loaded. If a number is provided, it will continue to automatically\n * fetch more until the list is at least that long.\n *\n * - `true`: Fetch all available pages automatically\n * - `number`: Fetch pages until at least this many items are loaded\n * - `undefined` (default): Only fetch the first page, user must call fetchMore()\n */\n autoFetchMore?: boolean | number;\n\n streamUpdates?: boolean;\n}\n\nexport interface UseOsdkListResult<\n T extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n> {\n /**\n * Function to fetch more pages (undefined if no more pages)\n */\n fetchMore: (() => Promise<void>) | undefined;\n\n /**\n * The fetched data with derived properties\n */\n data:\n | Osdk.Instance<T, \"$allBaseProperties\", PropertyKeys<T>, RDPs>[]\n | undefined;\n\n /**\n * Whether data is currently being loaded\n */\n isLoading: boolean;\n\n /**\n * Any error that occurred during fetching\n */\n error: Error | undefined;\n\n /**\n * Refers to whether the ordered list of objects (only considering the $primaryKey)\n * is optimistic or not.\n *\n * If you need to know if the contents of the list are optimistic you can\n * do that on a per object basis with useOsdkObject\n */\n isOptimistic: boolean;\n\n /**\n * The total count of objects matching the query (if available from the API)\n */\n totalCount?: string;\n}\n\ndeclare const process: {\n env: {\n NODE_ENV: \"development\" | \"production\";\n };\n};\n\nexport function useOsdkObjects<\n Q extends ObjectOrInterfaceDefinition,\n L extends LinkNames<Q>,\n>(\n type: Q,\n options: UseOsdkObjectsOptions<Q> & { pivotTo: L },\n): UseOsdkListResult<LinkedType<Q, L>>;\n\nexport function useOsdkObjects<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n type: Q,\n options?: UseOsdkObjectsOptions<Q, RDPs>,\n): UseOsdkListResult<Q, RDPs>;\n\nexport function useOsdkObjects<\n Q extends ObjectOrInterfaceDefinition,\n RDPs extends Record<string, SimplePropertyDef> = {},\n>(\n type: Q,\n options?: UseOsdkObjectsOptions<Q, RDPs>,\n):\n | UseOsdkListResult<Q, RDPs>\n | UseOsdkListResult<LinkedType<Q, LinkNames<Q>>>\n{\n const { observableClient } = React.useContext(OsdkContext2);\n\n const {\n pageSize,\n dedupeIntervalMs,\n withProperties,\n enabled = true,\n rids,\n where,\n orderBy,\n streamUpdates,\n autoFetchMore,\n intersectWith,\n pivotTo,\n } = options ?? {};\n\n const canonWhere = observableClient.canonicalizeWhereClause<\n Q,\n RDPs\n >(where ?? {});\n\n const stableRids = React.useMemo(\n () => rids,\n [JSON.stringify(rids)],\n );\n\n const stableWithProperties = React.useMemo(\n () => withProperties,\n [JSON.stringify(withProperties)],\n );\n\n const stableIntersectWith = React.useMemo(\n () => intersectWith,\n [JSON.stringify(intersectWith)],\n );\n\n const stableOrderBy = React.useMemo(\n () => orderBy,\n [JSON.stringify(orderBy)],\n );\n\n const { subscribe, getSnapShot } = React.useMemo(\n () => {\n if (!enabled) {\n return makeExternalStore<\n ObserveObjectsCallbackArgs<Q, RDPs>\n >(\n () => ({ unsubscribe: () => {} }),\n process.env.NODE_ENV !== \"production\"\n ? `list ${type.apiName} [DISABLED]`\n : void 0,\n );\n }\n\n return makeExternalStore<\n ObserveObjectsCallbackArgs<Q, RDPs>\n >(\n (observer) =>\n observableClient.observeList({\n type,\n rids: stableRids,\n where: canonWhere,\n dedupeInterval: dedupeIntervalMs ?? 2_000,\n pageSize,\n orderBy: stableOrderBy,\n streamUpdates,\n withProperties: stableWithProperties,\n autoFetchMore,\n ...(stableIntersectWith\n ? { intersectWith: stableIntersectWith }\n : {}),\n ...(pivotTo ? { pivotTo } : {}),\n }, observer),\n process.env.NODE_ENV !== \"production\"\n ? `list ${type.apiName} ${\n stableRids ? `[${stableRids.length} rids]` : \"\"\n } ${JSON.stringify(canonWhere)}`\n : void 0,\n );\n },\n [\n enabled,\n observableClient,\n type,\n stableRids,\n canonWhere,\n dedupeIntervalMs,\n pageSize,\n stableOrderBy,\n streamUpdates,\n stableWithProperties,\n autoFetchMore,\n stableIntersectWith,\n pivotTo,\n ],\n );\n\n const listPayload = React.useSyncExternalStore(subscribe, getSnapShot);\n\n let error: Error | undefined;\n if (listPayload && \"error\" in listPayload && listPayload.error) {\n error = listPayload.error;\n } else if (listPayload?.status === \"error\") {\n error = new Error(\"Failed to load objects\");\n }\n\n return {\n fetchMore: listPayload?.hasMore ? listPayload.fetchMore : undefined,\n error,\n data: listPayload?.resolvedList,\n isLoading: enabled\n ? (listPayload?.status === \"loading\" || listPayload?.status === \"init\"\n || !listPayload)\n : false,\n isOptimistic: listPayload?.isOptimistic ?? false,\n totalCount: listPayload?.totalCount,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"experimental.js","names":["OsdkProvider2","useCurrentFoundryUser","useFoundryUser","useFoundryUsersList","useLinks","useObjectSet","useOsdkAction","useOsdkAggregation","useOsdkFunction","useOsdkObject","useOsdkObjects","useOsdkClient","useOsdkMetadata","useDebouncedCallback"],"sources":["experimental.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { OsdkProvider2 } from \"../new/OsdkProvider2.js\";\nexport { useCurrentFoundryUser } from \"../new/platform-apis/admin/useCurrentFoundryUser.js\";\nexport { useFoundryUser } from \"../new/platform-apis/admin/useFoundryUser.js\";\nexport { useFoundryUsersList } from \"../new/platform-apis/admin/useFoundryUsersList.js\";\nexport { useLinks } from \"../new/useLinks.js\";\nexport { useObjectSet } from \"../new/useObjectSet.js\";\nexport { useOsdkAction } from \"../new/useOsdkAction.js\";\nexport type { UseOsdkAggregationResult } from \"../new/useOsdkAggregation.js\";\nexport { useOsdkAggregation } from \"../new/useOsdkAggregation.js\";\nexport type {\n UseOsdkFunctionOptions,\n UseOsdkFunctionResult,\n} from \"../new/useOsdkFunction.js\";\nexport { useOsdkFunction } from \"../new/useOsdkFunction.js\";\nexport { useOsdkObject } from \"../new/useOsdkObject.js\";\nexport type {
|
|
1
|
+
{"version":3,"file":"experimental.js","names":["OsdkProvider2","useCurrentFoundryUser","useFoundryUser","useFoundryUsersList","useLinks","useObjectSet","useOsdkAction","useOsdkAggregation","useOsdkFunction","useOsdkObject","useOsdkObjects","useOsdkClient","useOsdkMetadata","useDebouncedCallback"],"sources":["experimental.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nexport { OsdkProvider2 } from \"../new/OsdkProvider2.js\";\nexport { useCurrentFoundryUser } from \"../new/platform-apis/admin/useCurrentFoundryUser.js\";\nexport { useFoundryUser } from \"../new/platform-apis/admin/useFoundryUser.js\";\nexport { useFoundryUsersList } from \"../new/platform-apis/admin/useFoundryUsersList.js\";\nexport { useLinks } from \"../new/useLinks.js\";\nexport { useObjectSet } from \"../new/useObjectSet.js\";\nexport { useOsdkAction } from \"../new/useOsdkAction.js\";\nexport type { UseOsdkAggregationResult } from \"../new/useOsdkAggregation.js\";\nexport { useOsdkAggregation } from \"../new/useOsdkAggregation.js\";\nexport type {\n UseOsdkFunctionOptions,\n UseOsdkFunctionResult,\n} from \"../new/useOsdkFunction.js\";\nexport { useOsdkFunction } from \"../new/useOsdkFunction.js\";\nexport { useOsdkObject } from \"../new/useOsdkObject.js\";\nexport type {\n UseOsdkListResult,\n UseOsdkObjectsOptions,\n} from \"../new/useOsdkObjects.js\";\nexport { useOsdkObjects } from \"../new/useOsdkObjects.js\";\nexport { useOsdkClient } from \"../useOsdkClient.js\";\nexport { useOsdkMetadata } from \"../useOsdkMetadata.js\";\nexport type { UseOsdkMetadataResult } from \"../useOsdkMetadata.js\";\nexport { useDebouncedCallback } from \"../utils/useDebouncedCallback.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,aAAa,QAAQ,yBAAyB;AACvD,SAASC,qBAAqB,QAAQ,qDAAqD;AAC3F,SAASC,cAAc,QAAQ,8CAA8C;AAC7E,SAASC,mBAAmB,QAAQ,mDAAmD;AACvF,SAASC,QAAQ,QAAQ,oBAAoB;AAC7C,SAASC,YAAY,QAAQ,wBAAwB;AACrD,SAASC,aAAa,QAAQ,yBAAyB;AAEvD,SAASC,kBAAkB,QAAQ,8BAA8B;AAKjE,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,aAAa,QAAQ,yBAAyB;AAKvD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,aAAa,QAAQ,qBAAqB;AACnD,SAASC,eAAe,QAAQ,uBAAuB;AAEvD,SAASC,oBAAoB,QAAQ,kCAAkC","ignoreList":[]}
|
|
@@ -100,6 +100,10 @@ export interface UseObjectSetResult<
|
|
|
100
100
|
* The final ObjectSet after all transformations
|
|
101
101
|
*/
|
|
102
102
|
objectSet: ObjectSet<Q, RDPs>;
|
|
103
|
+
/**
|
|
104
|
+
* The total count of objects matching the query (if available from the API)
|
|
105
|
+
*/
|
|
106
|
+
totalCount?: string;
|
|
103
107
|
}
|
|
104
108
|
/**
|
|
105
109
|
* React hook for observing and interacting with OSDK object sets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,iBACA,WACA,WACA,sBACA,MACA,cACA,mBACA,mBACK,WAAY;AAUnB,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;CAIA,QAAQ,YAAY,GAAG;;;;CAKvB,oBAAoB,WAAW,QAAO,gBAAgB,QAAQ,GAAG,KAAK;;;;CAKtE,QAAQ,UAAU;;;;CAKlB,YAAY,UAAU;;;;CAKtB,WAAW,UAAU;;;;CAKrB,UAAU,UAAU;;;;CAKpB;;;;CAKA,aACG,KAAK,aAAa,OAAM,QAAQ;;;;CAMnC;;;;;;;;CASA;;;;;;;;CASA;;;;;;;;;;;;;;;;;;;;CAqBA;AACD;AAED,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;CAIA,MACI,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;CAM5D;;;;CAKA,OAAO;;;;CAKP,kBAAkB;;;;CAKlB,WAAW,UAAU,GAAG;
|
|
1
|
+
{"mappings":"AAgBA,cACE,iBACA,WACA,WACA,sBACA,MACA,cACA,mBACA,mBACK,WAAY;AAUnB,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;CAIA,QAAQ,YAAY,GAAG;;;;CAKvB,oBAAoB,WAAW,QAAO,gBAAgB,QAAQ,GAAG,KAAK;;;;CAKtE,QAAQ,UAAU;;;;CAKlB,YAAY,UAAU;;;;CAKtB,WAAW,UAAU;;;;CAKrB,UAAU,UAAU;;;;CAKpB;;;;CAKA,aACG,KAAK,aAAa,OAAM,QAAQ;;;;CAMnC;;;;;;;;CASA;;;;;;;;CASA;;;;;;;;;;;;;;;;;;;;CAqBA;AACD;AAED,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;CAIA,MACI,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;CAM5D;;;;CAKA,OAAO;;;;CAKP,kBAAkB;;;;CAKlB,WAAW,UAAU,GAAG;;;;CAKxB;AACD;;;;;;;;;;;;AAmBD,OAAO,iBAAS;CACd,UAAU;CACV,iBAAiB,eAAe;CAChC,aAAa,eAAe,qBAAqB,CAAE;EAEnDA,eAAe,UAAU,GAAG,WAC5BC,UAAS,oBAAoB,GAAG,QAC/B,mBAAmB,GAAG","names":["baseObjectSet: ObjectSet<Q, BaseRDPs>","options: UseObjectSetOptions<Q, RDPs>"],"sources":["../../../src/new/useObjectSet.tsx"],"version":3,"file":"useObjectSet.d.ts"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
import type { AggregateOpts, AggregationsResults, DerivedProperty, ObjectOrInterfaceDefinition, WhereClause } from "@osdk/api";
|
|
2
|
-
import type { InferRdpTypes } from "./types.js";
|
|
1
|
+
import type { AggregateOpts, AggregationsResults, DerivedProperty, ObjectOrInterfaceDefinition, SimplePropertyDef, WhereClause } from "@osdk/api";
|
|
3
2
|
export interface UseOsdkAggregationOptions<
|
|
4
3
|
T extends ObjectOrInterfaceDefinition,
|
|
5
4
|
A extends AggregateOpts<T>,
|
|
6
|
-
|
|
5
|
+
RDPs extends Record<string, SimplePropertyDef> = {}
|
|
7
6
|
> {
|
|
8
7
|
/**
|
|
9
8
|
* Standard OSDK Where clause to filter objects before aggregation
|
|
10
9
|
*/
|
|
11
|
-
where?: WhereClause<T,
|
|
10
|
+
where?: WhereClause<T, RDPs>;
|
|
12
11
|
/**
|
|
13
12
|
* Define derived properties (RDPs) to be computed server-side.
|
|
14
13
|
* The derived properties can be used in the where clause and aggregation groupBy/select.
|
|
15
14
|
*/
|
|
16
|
-
withProperties?:
|
|
15
|
+
withProperties?: { [K in keyof RDPs] : DerivedProperty.Creator<T, RDPs[K]> };
|
|
17
16
|
/**
|
|
18
17
|
* Aggregation options including groupBy and select
|
|
19
18
|
*/
|
|
@@ -62,5 +61,5 @@ export interface UseOsdkAggregationResult<
|
|
|
62
61
|
export declare function useOsdkAggregation<
|
|
63
62
|
Q extends ObjectOrInterfaceDefinition,
|
|
64
63
|
const A extends AggregateOpts<Q>,
|
|
65
|
-
|
|
66
|
-
>(type: Q, { where, withProperties, aggregate, dedupeIntervalMs }: UseOsdkAggregationOptions<Q, A,
|
|
64
|
+
RDPs extends Record<string, SimplePropertyDef> = {}
|
|
65
|
+
>(type: Q, { where, withProperties, aggregate, dedupeIntervalMs }: UseOsdkAggregationOptions<Q, A, RDPs>): UseOsdkAggregationResult<Q, A>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,eACA,qBACA,iBACA,6BACA,mBACK,WAAY;
|
|
1
|
+
{"mappings":"AAgBA,cACE,eACA,qBACA,iBACA,6BACA,mBACA,mBACK,WAAY;AAMnB,iBAAiB;CACf,UAAU;CACV,UAAU,cAAc;CACxB,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;CAIA,QAAQ,YAAY,GAAG;;;;;CAMvB,oBAAoB,WAAW,QAAO,gBAAgB,QAAQ,GAAG,KAAK;;;;CAKtE,WAAW;;;;;;;CAQX;AACD;AAED,iBAAiB;CACf,UAAU;CACV,UAAU,cAAc;EACxB;CACA,MAAM,oBAAoB,GAAG;CAC7B;CACA,OAAO;CACP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;AAgCD,OAAO,iBAAS;CACd,UAAU;OACJ,UAAU,cAAc;CAC9B,aAAa,eAAe,qBAAqB,CAAE;EAEnDA,MAAM,GACN,EACE,OACA,gBACA,WACA,kBACsC,EAArC,0BAA0B,GAAG,GAAG,QAClC,yBAAyB,GAAG","names":["type: Q"],"sources":["../../../src/new/useOsdkAggregation.ts"],"version":3,"file":"useOsdkAggregation.d.ts"}
|
|
@@ -1,31 +1,67 @@
|
|
|
1
1
|
import type { DerivedProperty, LinkedType, LinkNames, ObjectOrInterfaceDefinition, Osdk, PropertyKeys, SimplePropertyDef, WhereClause } from "@osdk/api";
|
|
2
|
-
import type { InferRdpTypes } from "./types.js";
|
|
3
2
|
export interface UseOsdkObjectsOptions<
|
|
4
3
|
T extends ObjectOrInterfaceDefinition,
|
|
5
|
-
|
|
4
|
+
RDPs extends Record<string, SimplePropertyDef> = {}
|
|
6
5
|
> {
|
|
7
6
|
/**
|
|
8
|
-
*
|
|
7
|
+
* Fetch objects by their RIDs (Resource Identifiers).
|
|
8
|
+
* When provided, starts with a static objectset containing these RIDs.
|
|
9
|
+
* Can be combined with `where` to filter the RID set, and with `orderBy` to sort results.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* // Fetch specific objects by RID
|
|
13
|
+
* useOsdkObjects(Employee, { rids: ['ri.foo.123', 'ri.foo.456'] })
|
|
14
|
+
*
|
|
15
|
+
* @example
|
|
16
|
+
* // Fetch specific objects by RID, filtered by status
|
|
17
|
+
* useOsdkObjects(Employee, {
|
|
18
|
+
* rids: ['ri.foo.123', 'ri.foo.456', 'ri.foo.789'],
|
|
19
|
+
* where: { status: 'active' }
|
|
20
|
+
* })
|
|
9
21
|
*/
|
|
10
|
-
|
|
22
|
+
rids?: readonly string[];
|
|
11
23
|
/**
|
|
12
|
-
*
|
|
24
|
+
* Standard OSDK Where clause with RDP support.
|
|
25
|
+
* When used with `rids`, filters the RID set.
|
|
26
|
+
* When used alone, filters all objects of the type.
|
|
27
|
+
*/
|
|
28
|
+
where?: WhereClause<T, RDPs>;
|
|
29
|
+
/**
|
|
30
|
+
* Sort results by one or more properties.
|
|
13
31
|
*/
|
|
14
|
-
pageSize?: number;
|
|
15
|
-
/** */
|
|
16
32
|
orderBy?: { [K in PropertyKeys<T>]? : "asc" | "desc" };
|
|
17
33
|
/**
|
|
34
|
+
* The preferred page size for the list.
|
|
35
|
+
*/
|
|
36
|
+
pageSize?: number;
|
|
37
|
+
/**
|
|
18
38
|
* Define derived properties (RDPs) to be computed server-side and attached to each object.
|
|
19
39
|
* These properties will be available on the returned objects alongside their regular properties.
|
|
20
40
|
*/
|
|
21
|
-
withProperties?:
|
|
41
|
+
withProperties?: { [K in keyof RDPs] : DerivedProperty.Creator<T, RDPs[K]> };
|
|
42
|
+
/**
|
|
43
|
+
* The number of milliseconds to wait after the last observed list change.
|
|
44
|
+
*
|
|
45
|
+
* Two uses of `useOsdkObjects` with the same parameters will only trigger one
|
|
46
|
+
* network request if the second is within `dedupeIntervalMs`.
|
|
47
|
+
*/
|
|
48
|
+
dedupeIntervalMs?: number;
|
|
49
|
+
/**
|
|
50
|
+
* Enable or disable the query.
|
|
51
|
+
*
|
|
52
|
+
* When `false`, the query will not automatically execute. It will still
|
|
53
|
+
* return any cached data, but will not fetch from the server.
|
|
54
|
+
*
|
|
55
|
+
* @default true
|
|
56
|
+
*/
|
|
57
|
+
enabled?: boolean;
|
|
22
58
|
/**
|
|
23
59
|
* Intersect the results with additional object sets.
|
|
24
60
|
* Each element defines a where clause for an object set to intersect with.
|
|
25
61
|
* The final result will only include objects that match ALL conditions.
|
|
26
62
|
*/
|
|
27
63
|
intersectWith?: Array<{
|
|
28
|
-
where: WhereClause<T,
|
|
64
|
+
where: WhereClause<T, RDPs>
|
|
29
65
|
}>;
|
|
30
66
|
/**
|
|
31
67
|
* Pivot to related objects through a link.
|
|
@@ -40,79 +76,29 @@ export interface UseOsdkObjectsOptions<
|
|
|
40
76
|
* - `true`: Fetch all available pages automatically
|
|
41
77
|
* - `number`: Fetch pages until at least this many items are loaded
|
|
42
78
|
* - `undefined` (default): Only fetch the first page, user must call fetchMore()
|
|
43
|
-
*
|
|
44
|
-
* Note: When using `autoFetchMore: true` with large datasets, the initial
|
|
45
|
-
* load may take significant time. Consider using a specific number instead
|
|
46
|
-
* or implementing virtual scrolling.
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* // Fetch all todos at once
|
|
50
|
-
* const { data } = useOsdkObjects(Todo, { autoFetchMore: true })
|
|
51
|
-
*
|
|
52
|
-
* @example
|
|
53
|
-
* // Fetch at least 100 todos (with 25 per page, fetches 4 pages)
|
|
54
|
-
* const { data } = useOsdkObjects(Todo, {
|
|
55
|
-
* autoFetchMore: 100,
|
|
56
|
-
* pageSize: 25
|
|
57
|
-
* })
|
|
58
79
|
*/
|
|
59
80
|
autoFetchMore?: boolean | number;
|
|
60
|
-
/**
|
|
61
|
-
* Upon a list being revalidated, this option determines how the component
|
|
62
|
-
* will be re-rendered with the data.
|
|
63
|
-
*
|
|
64
|
-
* An example to help understand the options:
|
|
65
|
-
*
|
|
66
|
-
* Suppose pageSize is 10 and we have called `fetchMore()` twice. The list is
|
|
67
|
-
* now 30 items long.
|
|
68
|
-
*
|
|
69
|
-
* Upon revalidation, we get the first 10 items of the list. The options behave
|
|
70
|
-
* as follows:
|
|
71
|
-
*
|
|
72
|
-
* - `"in-place"`: The first 10 items of the list are replaced with the new 10
|
|
73
|
-
* items. The list is now 30 items long, but only the first 10 items are valid.
|
|
74
|
-
* - `"wait"`: The old list is returned until after the next 20 items are loaded
|
|
75
|
-
* (which will happen automatically). The list is now 30 items long.
|
|
76
|
-
* - `"reset"`: The entire list is replaced with the new 10 items. The list is
|
|
77
|
-
* now 10 items long.
|
|
78
|
-
*/
|
|
79
|
-
/**
|
|
80
|
-
* The number of milliseconds to wait after the last observed list change.
|
|
81
|
-
*
|
|
82
|
-
* Two uses of `useOsdkObjects` with the where clause will only trigger one
|
|
83
|
-
* network request if the second is within `dedupeIntervalMs`.
|
|
84
|
-
*/
|
|
85
|
-
dedupeIntervalMs?: number;
|
|
86
81
|
streamUpdates?: boolean;
|
|
87
|
-
/**
|
|
88
|
-
* Enable or disable the query.
|
|
89
|
-
*
|
|
90
|
-
* When `false`, the query will not automatically execute. It will still
|
|
91
|
-
* return any cached data, but will not fetch from the server.
|
|
92
|
-
*
|
|
93
|
-
* This is useful for:
|
|
94
|
-
* - Lazy/on-demand queries that should wait for user interaction
|
|
95
|
-
* - Dependent queries that need data from another query first
|
|
96
|
-
* - Conditional queries based on component state
|
|
97
|
-
*
|
|
98
|
-
* @default true
|
|
99
|
-
* @example
|
|
100
|
-
* // Dependent query - wait for parent data
|
|
101
|
-
* const { data: employee } = useOsdkObject(Employee, employeeId);
|
|
102
|
-
* const { data: reports } = useOsdkObjects(Employee, {
|
|
103
|
-
* where: { managerId: employee?.id },
|
|
104
|
-
* enabled: !!employee
|
|
105
|
-
* });
|
|
106
|
-
*/
|
|
107
|
-
enabled?: boolean;
|
|
108
82
|
}
|
|
109
83
|
export interface UseOsdkListResult<
|
|
110
84
|
T extends ObjectOrInterfaceDefinition,
|
|
111
85
|
RDPs extends Record<string, SimplePropertyDef> = {}
|
|
112
86
|
> {
|
|
87
|
+
/**
|
|
88
|
+
* Function to fetch more pages (undefined if no more pages)
|
|
89
|
+
*/
|
|
113
90
|
fetchMore: (() => Promise<void>) | undefined;
|
|
91
|
+
/**
|
|
92
|
+
* The fetched data with derived properties
|
|
93
|
+
*/
|
|
114
94
|
data: Osdk.Instance<T, "$allBaseProperties", PropertyKeys<T>, RDPs>[] | undefined;
|
|
95
|
+
/**
|
|
96
|
+
* Whether data is currently being loaded
|
|
97
|
+
*/
|
|
115
98
|
isLoading: boolean;
|
|
99
|
+
/**
|
|
100
|
+
* Any error that occurred during fetching
|
|
101
|
+
*/
|
|
116
102
|
error: Error | undefined;
|
|
117
103
|
/**
|
|
118
104
|
* Refers to whether the ordered list of objects (only considering the $primaryKey)
|
|
@@ -122,6 +108,10 @@ export interface UseOsdkListResult<
|
|
|
122
108
|
* do that on a per object basis with useOsdkObject
|
|
123
109
|
*/
|
|
124
110
|
isOptimistic: boolean;
|
|
111
|
+
/**
|
|
112
|
+
* The total count of objects matching the query (if available from the API)
|
|
113
|
+
*/
|
|
114
|
+
totalCount?: string;
|
|
125
115
|
}
|
|
126
116
|
export declare function useOsdkObjects<
|
|
127
117
|
Q extends ObjectOrInterfaceDefinition,
|
|
@@ -131,5 +121,5 @@ export declare function useOsdkObjects<
|
|
|
131
121
|
}): UseOsdkListResult<LinkedType<Q, L>>;
|
|
132
122
|
export declare function useOsdkObjects<
|
|
133
123
|
Q extends ObjectOrInterfaceDefinition,
|
|
134
|
-
|
|
135
|
-
>(type: Q, options?: UseOsdkObjectsOptions<Q,
|
|
124
|
+
RDPs extends Record<string, SimplePropertyDef> = {}
|
|
125
|
+
>(type: Q, options?: UseOsdkObjectsOptions<Q, RDPs>): UseOsdkListResult<Q, RDPs>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,iBACA,YACA,WACA,6BACA,MACA,cACA,mBACA,mBACK,WAAY;
|
|
1
|
+
{"mappings":"AAgBA,cACE,iBACA,YACA,WACA,6BACA,MACA,cACA,mBACA,mBACK,WAAY;AAMnB,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;;;;;;;;;;;;;;CAiBA;;;;;;CAOA,QAAQ,YAAY,GAAG;;;;CAKvB,aACG,KAAK,aAAa,OAAM,QAAQ;;;;CAMnC;;;;;CAMA,oBAAoB,WAAW,QAAO,gBAAgB,QAAQ,GAAG,KAAK;;;;;;;CAQtE;;;;;;;;;CAUA;;;;;;CAOA,gBAAgB,MAAM;EACpB,OAAO,YAAY,GAAG;CACvB;;;;;CAMD,UAAU,UAAU;;;;;;;;;;CAWpB;CAEA;AACD;AAED,iBAAiB;CACf,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EACnD;;;;CAIA,kBAAkB;;;;CAKlB,MACI,KAAK,SAAS,GAAG,sBAAsB,aAAa,IAAI;;;;CAM5D;;;;CAKA,OAAO;;;;;;;;CASP;;;;CAKA;AACD;AAQD,OAAO,iBAAS;CACd,UAAU;CACV,UAAU,UAAU;EAEpBA,MAAM,GACNC,SAAS,sBAAsB,KAAK;CAAE,SAAS;AAAG,IACjD,kBAAkB,WAAW,GAAG;AAEnC,OAAO,iBAAS;CACd,UAAU;CACV,aAAa,eAAe,qBAAqB,CAAE;EAEnDD,MAAM,GACNE,UAAU,sBAAsB,GAAG,QAClC,kBAAkB,GAAG","names":["type: Q","options: UseOsdkObjectsOptions<Q> & { pivotTo: L }","options?: UseOsdkObjectsOptions<Q, RDPs>"],"sources":["../../../src/new/useOsdkObjects.ts"],"version":3,"file":"useOsdkObjects.d.ts"}
|
|
@@ -10,7 +10,7 @@ export { useOsdkAggregation } from "../new/useOsdkAggregation.js";
|
|
|
10
10
|
export type { UseOsdkFunctionOptions, UseOsdkFunctionResult } from "../new/useOsdkFunction.js";
|
|
11
11
|
export { useOsdkFunction } from "../new/useOsdkFunction.js";
|
|
12
12
|
export { useOsdkObject } from "../new/useOsdkObject.js";
|
|
13
|
-
export type { UseOsdkListResult } from "../new/useOsdkObjects.js";
|
|
13
|
+
export type { UseOsdkListResult, UseOsdkObjectsOptions } from "../new/useOsdkObjects.js";
|
|
14
14
|
export { useOsdkObjects } from "../new/useOsdkObjects.js";
|
|
15
15
|
export { useOsdkClient } from "../useOsdkClient.js";
|
|
16
16
|
export { useOsdkMetadata } from "../useOsdkMetadata.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,cAAc,gCAAgC;AAC9C,SAAS,0BAA0B;AACnC,cACE,wBACA,6BACK;AACP,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,
|
|
1
|
+
{"mappings":"AAgBA,SAAS,qBAAqB;AAC9B,SAAS,6BAA6B;AACtC,SAAS,sBAAsB;AAC/B,SAAS,2BAA2B;AACpC,SAAS,gBAAgB;AACzB,SAAS,oBAAoB;AAC7B,SAAS,qBAAqB;AAC9B,cAAc,gCAAgC;AAC9C,SAAS,0BAA0B;AACnC,cACE,wBACA,6BACK;AACP,SAAS,uBAAuB;AAChC,SAAS,qBAAqB;AAC9B,cACE,mBACA,6BACK;AACP,SAAS,sBAAsB;AAC/B,SAAS,qBAAqB;AAC9B,SAAS,uBAAuB;AAChC,cAAc,6BAA6B;AAC3C,SAAS,4BAA4B","names":[],"sources":["../../../src/public/experimental.ts"],"version":3,"file":"experimental.d.ts"}
|
package/docs/getting-started.md
CHANGED
|
@@ -14,11 +14,12 @@ This guide covers installation, setup, and your first OSDK React application.
|
|
|
14
14
|
|
|
15
15
|
### 1. Install Beta Packages
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
```bash
|
|
18
|
+
npm install @osdk/api@beta @osdk/client@beta @osdk/react@beta
|
|
19
|
+
```
|
|
18
20
|
|
|
19
21
|
:::warning Version Compatibility
|
|
20
|
-
All `@osdk/*` packages must use **compatible versions**. Mismatched versions (e.g., mixing an old `@osdk/client` with a newer `@osdk/react`) will cause TypeScript errors.
|
|
21
|
-
:::
|
|
22
|
+
All `@osdk/*` packages must use **compatible versions**. Mismatched versions (e.g., mixing an old `@osdk/client` with a newer `@osdk/react`) will cause TypeScript errors. See [troubleshooting](#property-store-is-missing-with-osdkprovider2) if you encounter issues.
|
|
22
23
|
|
|
23
24
|
```json
|
|
24
25
|
{
|
|
@@ -29,14 +30,9 @@ All `@osdk/*` packages must use **compatible versions**. Mismatched versions (e.
|
|
|
29
30
|
}
|
|
30
31
|
}
|
|
31
32
|
```
|
|
33
|
+
:::
|
|
32
34
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
npm install @osdk/api @osdk/client @osdk/react
|
|
37
|
-
```
|
|
38
|
-
|
|
39
|
-
Check for newer versions on npm:
|
|
35
|
+
You can find the latest versions on npm:
|
|
40
36
|
|
|
41
37
|
- [@osdk/react versions](https://www.npmjs.com/package/@osdk/react?activeTab=versions)
|
|
42
38
|
- [@osdk/client versions](https://www.npmjs.com/package/@osdk/client?activeTab=versions)
|
package/docs/querying-data.md
CHANGED
|
@@ -55,6 +55,33 @@ function TodoList() {
|
|
|
55
55
|
`isOptimistic` refers to whether the **ordered list of objects** (considering only primary keys) is optimistic. To check if individual object contents are optimistic, use `useOsdkObject` on each object.
|
|
56
56
|
:::
|
|
57
57
|
|
|
58
|
+
### Fetching by RID
|
|
59
|
+
|
|
60
|
+
Fetch specific objects by their RIDs:
|
|
61
|
+
|
|
62
|
+
```tsx
|
|
63
|
+
import { Employee } from "@my/osdk";
|
|
64
|
+
import { useOsdkObjects } from "@osdk/react/experimental";
|
|
65
|
+
|
|
66
|
+
function SelectedEmployees({ selectedRids }: { selectedRids: string[] }) {
|
|
67
|
+
const { data, isLoading } = useOsdkObjects(Employee, {
|
|
68
|
+
rids: selectedRids,
|
|
69
|
+
});
|
|
70
|
+
|
|
71
|
+
if (isLoading && !data) {
|
|
72
|
+
return <div>Loading selected employees...</div>;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
return (
|
|
76
|
+
<div>
|
|
77
|
+
{data?.map(employee => (
|
|
78
|
+
<div key={employee.$primaryKey}>{employee.fullName}</div>
|
|
79
|
+
))}
|
|
80
|
+
</div>
|
|
81
|
+
);
|
|
82
|
+
}
|
|
83
|
+
```
|
|
84
|
+
|
|
58
85
|
### Filtering with `where`
|
|
59
86
|
|
|
60
87
|
```ts
|
|
@@ -366,6 +393,7 @@ function ManagerReports() {
|
|
|
366
393
|
const { data, isLoading, isOptimistic, fetchMore, error } = useOsdkObjects(
|
|
367
394
|
Todo,
|
|
368
395
|
{
|
|
396
|
+
rids: ["ri.phonograph2-objects.main.object.abc123", "ri.phonograph2-objects.main.object.def456"],
|
|
369
397
|
where: { isComplete: false },
|
|
370
398
|
pageSize: 20,
|
|
371
399
|
orderBy: { createdAt: "desc" },
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/react",
|
|
3
|
-
"version": "0.9.0-
|
|
3
|
+
"version": "0.9.0-rc.11",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -43,8 +43,8 @@
|
|
|
43
43
|
"react-dom": "^17 || ^18 || ^19"
|
|
44
44
|
},
|
|
45
45
|
"devDependencies": {
|
|
46
|
-
"@osdk/foundry.admin": "2.
|
|
47
|
-
"@osdk/foundry.core": "2.
|
|
46
|
+
"@osdk/foundry.admin": "2.44.0",
|
|
47
|
+
"@osdk/foundry.core": "2.44.0",
|
|
48
48
|
"@testing-library/react": "^16.3.0",
|
|
49
49
|
"@types/react": "^18.3.24",
|
|
50
50
|
"find-up": "^8.0.0",
|
|
@@ -57,11 +57,11 @@
|
|
|
57
57
|
"react": "^18.3.1",
|
|
58
58
|
"tiny-invariant": "^1.3.3",
|
|
59
59
|
"typescript": "~5.5.4",
|
|
60
|
-
"@osdk/api": "2.7.0-
|
|
61
|
-
"@osdk/client": "2.7.0-
|
|
62
|
-
"@osdk/client.test.ontology": "2.7.0-beta.12",
|
|
60
|
+
"@osdk/api": "2.7.0-rc.15",
|
|
61
|
+
"@osdk/client": "2.7.0-rc.15",
|
|
63
62
|
"@osdk/monorepo.api-extractor": "~0.6.0-beta.1",
|
|
64
|
-
"@osdk/monorepo.tsconfig": "~0.6.0-beta.1"
|
|
63
|
+
"@osdk/monorepo.tsconfig": "~0.6.0-beta.1",
|
|
64
|
+
"@osdk/client.test.ontology": "2.7.0-rc.15"
|
|
65
65
|
},
|
|
66
66
|
"publishConfig": {
|
|
67
67
|
"access": "public"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["types.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DerivedProperty,\n InterfaceDefinition,\n ObjectTypeDefinition,\n} from \"@osdk/api\";\n\nexport type InferRdpTypes<\n Q extends ObjectTypeDefinition | InterfaceDefinition,\n WP extends DerivedProperty.Clause<Q> | undefined,\n> = WP extends DerivedProperty.Clause<Q> ? {\n [K in keyof WP]: WP[K] extends DerivedProperty.Creator<Q, infer T> ? T\n : never;\n }\n : {};\n"],"mappings":"","ignoreList":[]}
|
package/build/esm/new/types.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":[],"sources":["types.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport type {\n DerivedProperty,\n InterfaceDefinition,\n ObjectTypeDefinition,\n} from \"@osdk/api\";\n\nexport type InferRdpTypes<\n Q extends ObjectTypeDefinition | InterfaceDefinition,\n WP extends DerivedProperty.Clause<Q> | undefined,\n> = WP extends DerivedProperty.Clause<Q> ? {\n [K in keyof WP]: WP[K] extends DerivedProperty.Creator<Q, infer T> ? T\n : never;\n }\n : {};\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { DerivedProperty, InterfaceDefinition, ObjectTypeDefinition } from "@osdk/api";
|
|
2
|
-
export type InferRdpTypes<
|
|
3
|
-
Q extends ObjectTypeDefinition | InterfaceDefinition,
|
|
4
|
-
WP extends DerivedProperty.Clause<Q> | undefined
|
|
5
|
-
> = WP extends DerivedProperty.Clause<Q> ? { [K in keyof WP] : WP[K] extends DerivedProperty.Creator<Q, infer T> ? T : never } : {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cACE,iBACA,qBACA,4BACK,WAAY;AAEnB,YAAY;CACV,UAAU,uBAAuB;CACjC,WAAW,gBAAgB,OAAO;IAChC,WAAW,gBAAgB,OAAO,QACjC,WAAW,MAAK,GAAG,WAAW,gBAAgB,QAAQ,SAAS,KAAK,cAGrE,CAAE","names":[],"sources":["../../../src/new/types.ts"],"version":3,"file":"types.d.ts"}
|