@osdk/client 2.5.0-beta.1 → 2.5.0-beta.3
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 +43 -0
- package/build/browser/Client.js +1 -1
- package/build/browser/Client.js.map +1 -1
- package/build/browser/createClient.js +4 -1
- package/build/browser/createClient.js.map +1 -1
- package/build/browser/fetchMetadata.test.js +11 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
- package/build/browser/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
- package/build/browser/intellisense.test.js +14 -4
- package/build/browser/intellisense.test.js.map +1 -1
- package/build/browser/object/Cache.js +1 -1
- package/build/browser/object/Cache.js.map +1 -1
- package/build/browser/object/SimpleCache.js +1 -1
- package/build/browser/object/SimpleCache.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.js +4 -0
- package/build/browser/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +12 -0
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.js +30 -4
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/geotimeseriesreference.test.js +0 -2
- package/build/browser/object/geotimeseriesreference.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +6 -0
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/createObjectSet.js +3 -1
- package/build/browser/objectSet/createObjectSet.js.map +1 -1
- package/build/browser/observable/LinkPayload.js +2 -0
- package/build/browser/observable/LinkPayload.js.map +1 -0
- package/build/browser/observable/ObjectPayload.js.map +1 -1
- package/build/browser/observable/ObservableClient/ObserveLink.js +17 -0
- package/build/browser/observable/ObservableClient/ObserveLink.js.map +1 -0
- package/build/browser/observable/ObservableClient/common.js +2 -0
- package/build/browser/observable/ObservableClient/common.js.map +1 -0
- package/build/browser/observable/ObservableClient.js +20 -0
- package/build/browser/observable/ObservableClient.js.map +1 -1
- package/build/browser/observable/Unsubscribable.js +2 -0
- package/build/browser/observable/Unsubscribable.js.map +1 -0
- package/build/browser/observable/internal/AbstractHelper.js +50 -0
- package/build/browser/observable/internal/AbstractHelper.js.map +1 -0
- package/build/browser/observable/internal/BaseCollectionQuery.js +2 -0
- package/build/browser/observable/internal/BaseCollectionQuery.js.map +1 -0
- package/build/browser/observable/internal/BulkObjectLoader.js +3 -3
- package/build/browser/observable/internal/BulkObjectLoader.js.map +1 -1
- package/build/browser/observable/internal/CacheKeys.js +17 -2
- package/build/browser/observable/internal/CacheKeys.js.map +1 -1
- package/build/browser/observable/internal/Changes.js +6 -0
- package/build/browser/observable/internal/Changes.js.map +1 -1
- package/build/browser/observable/internal/KnownCacheKey.js +2 -0
- package/build/browser/observable/internal/KnownCacheKey.js.map +1 -0
- package/build/browser/observable/internal/Layer.js.map +1 -1
- package/build/browser/observable/internal/ListCacheKey.js +2 -0
- package/build/browser/observable/internal/ListCacheKey.js.map +1 -0
- package/build/browser/observable/internal/ListQuery.js +399 -161
- package/build/browser/observable/internal/ListQuery.js.map +1 -1
- package/build/browser/observable/internal/ObjectQuery.js +27 -2
- package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
- package/build/browser/observable/internal/ObservableClientImpl.js +42 -2
- package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/browser/observable/internal/OptimisticJob.js +12 -3
- package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
- package/build/browser/observable/internal/Query.js +17 -3
- package/build/browser/observable/internal/Query.js.map +1 -1
- package/build/browser/observable/internal/QuerySubscription.js +41 -0
- package/build/browser/observable/internal/QuerySubscription.js.map +1 -0
- package/build/browser/observable/internal/Store.invalidation.test.js +481 -0
- package/build/browser/observable/internal/Store.invalidation.test.js.map +1 -0
- package/build/browser/observable/internal/Store.js +38 -91
- package/build/browser/observable/internal/Store.js.map +1 -1
- package/build/browser/observable/internal/Store.test.js +318 -63
- package/build/browser/observable/internal/Store.test.js.map +1 -1
- package/build/browser/observable/internal/UnsubscribableWrapper.js +30 -0
- package/build/browser/observable/internal/UnsubscribableWrapper.js.map +1 -0
- package/build/browser/observable/internal/createCollectionConnectable.js +50 -0
- package/build/browser/observable/internal/createCollectionConnectable.js.map +1 -0
- package/build/browser/observable/internal/createCollectionConnectable.test.js +599 -0
- package/build/browser/observable/internal/createCollectionConnectable.test.js.map +1 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.js +216 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
- package/build/browser/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
- package/build/browser/observable/internal/isObjectInstance.js +23 -0
- package/build/browser/observable/internal/isObjectInstance.js.map +1 -0
- package/build/browser/observable/internal/links/LinksHelper.js +37 -0
- package/build/browser/observable/internal/links/LinksHelper.js.map +1 -0
- package/build/browser/observable/internal/links/SpecificLinkCacheKey.js +2 -0
- package/build/browser/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
- package/build/browser/observable/internal/links/SpecificLinkQuery.js +185 -0
- package/build/browser/observable/internal/links/SpecificLinkQuery.js.map +1 -0
- package/build/browser/observable/internal/list/ListsHelper.js +49 -0
- package/build/browser/observable/internal/list/ListsHelper.js.map +1 -0
- package/build/browser/observable/internal/object/ObjectsHelper.js +34 -0
- package/build/browser/observable/internal/object/ObjectsHelper.js.map +1 -0
- package/build/browser/observable/internal/removeDuplicates.js +36 -0
- package/build/browser/observable/internal/removeDuplicates.js.map +1 -0
- package/build/browser/observable/internal/sorting/SortingStrategy.js +78 -0
- package/build/browser/observable/internal/sorting/SortingStrategy.js.map +1 -0
- package/build/browser/observable/internal/testUtils/invalidateList.js +23 -0
- package/build/browser/observable/internal/testUtils/invalidateList.js.map +1 -0
- package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
- package/build/browser/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
- package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
- package/build/browser/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
- package/build/browser/observable/internal/testUtils.js +70 -7
- package/build/browser/observable/internal/testUtils.js.map +1 -1
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/browser/util/UserAgent.js +2 -2
- package/build/browser/util/streamutils.js +1 -1
- package/build/browser/util/streamutils.js.map +1 -1
- package/build/cjs/{chunk-URDXPIRU.cjs → chunk-AOGMSVFN.cjs} +61 -54
- package/build/cjs/chunk-AOGMSVFN.cjs.map +1 -0
- package/build/cjs/{chunk-BJYCRD5Y.cjs → chunk-BL56QBYG.cjs} +44 -19
- package/build/cjs/chunk-BL56QBYG.cjs.map +1 -0
- package/build/cjs/index.cjs +7 -7
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/unstable-do-not-use.cjs +779 -268
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/cjs/public/unstable-do-not-use.d.cts +161 -12
- package/build/esm/Client.js +1 -1
- package/build/esm/Client.js.map +1 -1
- package/build/esm/createClient.js +4 -1
- package/build/esm/createClient.js.map +1 -1
- package/build/esm/fetchMetadata.test.js +11 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js +8 -1
- package/build/esm/intellisense.test.helpers/orderBySuggestionIsRight.js.map +1 -1
- package/build/esm/intellisense.test.js +14 -4
- package/build/esm/intellisense.test.js.map +1 -1
- package/build/esm/object/Cache.js +1 -1
- package/build/esm/object/Cache.js.map +1 -1
- package/build/esm/object/SimpleCache.js +1 -1
- package/build/esm/object/SimpleCache.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.js +4 -0
- package/build/esm/object/convertWireToOsdkObjects.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +12 -0
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.js +30 -4
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/geotimeseriesreference.test.js +0 -2
- package/build/esm/object/geotimeseriesreference.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +6 -0
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/createObjectSet.js +3 -1
- package/build/esm/objectSet/createObjectSet.js.map +1 -1
- package/build/esm/observable/LinkPayload.js +2 -0
- package/build/esm/observable/LinkPayload.js.map +1 -0
- package/build/esm/observable/ObjectPayload.js.map +1 -1
- package/build/esm/observable/ObservableClient/ObserveLink.js +17 -0
- package/build/esm/observable/ObservableClient/ObserveLink.js.map +1 -0
- package/build/esm/observable/ObservableClient/common.js +2 -0
- package/build/esm/observable/ObservableClient/common.js.map +1 -0
- package/build/esm/observable/ObservableClient.js +20 -0
- package/build/esm/observable/ObservableClient.js.map +1 -1
- package/build/esm/observable/Unsubscribable.js +2 -0
- package/build/esm/observable/Unsubscribable.js.map +1 -0
- package/build/esm/observable/internal/AbstractHelper.js +50 -0
- package/build/esm/observable/internal/AbstractHelper.js.map +1 -0
- package/build/esm/observable/internal/BaseCollectionQuery.js +2 -0
- package/build/esm/observable/internal/BaseCollectionQuery.js.map +1 -0
- package/build/esm/observable/internal/BulkObjectLoader.js +3 -3
- package/build/esm/observable/internal/BulkObjectLoader.js.map +1 -1
- package/build/esm/observable/internal/CacheKeys.js +17 -2
- package/build/esm/observable/internal/CacheKeys.js.map +1 -1
- package/build/esm/observable/internal/Changes.js +6 -0
- package/build/esm/observable/internal/Changes.js.map +1 -1
- package/build/esm/observable/internal/KnownCacheKey.js +2 -0
- package/build/esm/observable/internal/KnownCacheKey.js.map +1 -0
- package/build/esm/observable/internal/Layer.js.map +1 -1
- package/build/esm/observable/internal/ListCacheKey.js +2 -0
- package/build/esm/observable/internal/ListCacheKey.js.map +1 -0
- package/build/esm/observable/internal/ListQuery.js +399 -161
- package/build/esm/observable/internal/ListQuery.js.map +1 -1
- package/build/esm/observable/internal/ObjectQuery.js +27 -2
- package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
- package/build/esm/observable/internal/ObservableClientImpl.js +42 -2
- package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
- package/build/esm/observable/internal/OptimisticJob.js +12 -3
- package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
- package/build/esm/observable/internal/Query.js +17 -3
- package/build/esm/observable/internal/Query.js.map +1 -1
- package/build/esm/observable/internal/QuerySubscription.js +41 -0
- package/build/esm/observable/internal/QuerySubscription.js.map +1 -0
- package/build/esm/observable/internal/Store.invalidation.test.js +481 -0
- package/build/esm/observable/internal/Store.invalidation.test.js.map +1 -0
- package/build/esm/observable/internal/Store.js +38 -91
- package/build/esm/observable/internal/Store.js.map +1 -1
- package/build/esm/observable/internal/Store.test.js +318 -63
- package/build/esm/observable/internal/Store.test.js.map +1 -1
- package/build/esm/observable/internal/UnsubscribableWrapper.js +30 -0
- package/build/esm/observable/internal/UnsubscribableWrapper.js.map +1 -0
- package/build/esm/observable/internal/createCollectionConnectable.js +50 -0
- package/build/esm/observable/internal/createCollectionConnectable.js.map +1 -0
- package/build/esm/observable/internal/createCollectionConnectable.test.js +599 -0
- package/build/esm/observable/internal/createCollectionConnectable.test.js.map +1 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.js +216 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.js.map +1 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js +382 -0
- package/build/esm/observable/internal/getObjectTypesThatInvalidate.test.js.map +1 -0
- package/build/esm/observable/internal/isObjectInstance.js +23 -0
- package/build/esm/observable/internal/isObjectInstance.js.map +1 -0
- package/build/esm/observable/internal/links/LinksHelper.js +37 -0
- package/build/esm/observable/internal/links/LinksHelper.js.map +1 -0
- package/build/esm/observable/internal/links/SpecificLinkCacheKey.js +2 -0
- package/build/esm/observable/internal/links/SpecificLinkCacheKey.js.map +1 -0
- package/build/esm/observable/internal/links/SpecificLinkQuery.js +185 -0
- package/build/esm/observable/internal/links/SpecificLinkQuery.js.map +1 -0
- package/build/esm/observable/internal/list/ListsHelper.js +49 -0
- package/build/esm/observable/internal/list/ListsHelper.js.map +1 -0
- package/build/esm/observable/internal/object/ObjectsHelper.js +34 -0
- package/build/esm/observable/internal/object/ObjectsHelper.js.map +1 -0
- package/build/esm/observable/internal/removeDuplicates.js +36 -0
- package/build/esm/observable/internal/removeDuplicates.js.map +1 -0
- package/build/esm/observable/internal/sorting/SortingStrategy.js +78 -0
- package/build/esm/observable/internal/sorting/SortingStrategy.js.map +1 -0
- package/build/esm/observable/internal/testUtils/invalidateList.js +23 -0
- package/build/esm/observable/internal/testUtils/invalidateList.js.map +1 -0
- package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js +69 -0
- package/build/esm/observable/internal/testUtils/observeLink/expectStandardObserveLink.js.map +1 -0
- package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js +56 -0
- package/build/esm/observable/internal/testUtils/observeObject/expectStandardObserveObject.js.map +1 -0
- package/build/esm/observable/internal/testUtils.js +70 -7
- package/build/esm/observable/internal/testUtils.js.map +1 -1
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/util/UserAgent.js +2 -2
- package/build/esm/util/streamutils.js +1 -1
- package/build/esm/util/streamutils.js.map +1 -1
- package/build/types/Client.d.ts +1 -1
- package/build/types/createClient.d.ts.map +1 -1
- package/build/types/object/fetchPage.d.ts.map +1 -1
- package/build/types/observable/LinkPayload.d.ts +9 -0
- package/build/types/observable/LinkPayload.d.ts.map +1 -0
- package/build/types/observable/ObjectPayload.d.ts +4 -0
- package/build/types/observable/ObjectPayload.d.ts.map +1 -1
- package/build/types/observable/ObservableClient/ObserveLink.d.ts +32 -0
- package/build/types/observable/ObservableClient/ObserveLink.d.ts.map +1 -0
- package/build/types/observable/ObservableClient/common.d.ts +67 -0
- package/build/types/observable/ObservableClient/common.d.ts.map +1 -0
- package/build/types/observable/ObservableClient.d.ts +82 -15
- package/build/types/observable/ObservableClient.d.ts.map +1 -1
- package/build/types/observable/Unsubscribable.d.ts +3 -0
- package/build/types/observable/Unsubscribable.d.ts.map +1 -0
- package/build/types/observable/internal/AbstractHelper.d.ts +15 -0
- package/build/types/observable/internal/AbstractHelper.d.ts.map +1 -0
- package/build/types/observable/internal/BaseCollectionQuery.d.ts +64 -0
- package/build/types/observable/internal/BaseCollectionQuery.d.ts.map +1 -0
- package/build/types/observable/internal/BulkObjectLoader.d.ts.map +1 -1
- package/build/types/observable/internal/CacheKeys.d.ts +10 -4
- package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
- package/build/types/observable/internal/Changes.d.ts +7 -4
- package/build/types/observable/internal/Changes.d.ts.map +1 -1
- package/build/types/observable/internal/KnownCacheKey.d.ts +4 -0
- package/build/types/observable/internal/KnownCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/Layer.d.ts +7 -7
- package/build/types/observable/internal/Layer.d.ts.map +1 -1
- package/build/types/observable/internal/ListCacheKey.d.ts +7 -0
- package/build/types/observable/internal/ListCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/ListQuery.d.ts +160 -21
- package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/ObjectQuery.d.ts +3 -1
- package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
- package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
- package/build/types/observable/internal/Query.d.ts +6 -5
- package/build/types/observable/internal/Query.d.ts.map +1 -1
- package/build/types/observable/internal/QuerySubscription.d.ts +1 -0
- package/build/types/observable/internal/QuerySubscription.d.ts.map +1 -0
- package/build/types/observable/internal/Store.d.ts +34 -31
- package/build/types/observable/internal/Store.d.ts.map +1 -1
- package/build/types/observable/internal/Store.invalidation.test.d.ts +1 -0
- package/build/types/observable/internal/Store.invalidation.test.d.ts.map +1 -0
- package/build/types/observable/internal/Store.test.d.ts +4 -1
- package/build/types/observable/internal/Store.test.d.ts.map +1 -1
- package/build/types/observable/internal/UnsubscribableWrapper.d.ts +1 -0
- package/build/types/observable/internal/UnsubscribableWrapper.d.ts.map +1 -0
- package/build/types/observable/internal/createCollectionConnectable.d.ts +38 -0
- package/build/types/observable/internal/createCollectionConnectable.d.ts.map +1 -0
- package/build/types/observable/internal/createCollectionConnectable.test.d.ts +1 -0
- package/build/types/observable/internal/createCollectionConnectable.test.d.ts.map +1 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts +9 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.d.ts.map +1 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts +1 -0
- package/build/types/observable/internal/getObjectTypesThatInvalidate.test.d.ts.map +1 -0
- package/build/types/observable/internal/isObjectInstance.d.ts +5 -0
- package/build/types/observable/internal/isObjectInstance.d.ts.map +1 -0
- package/build/types/observable/internal/links/LinksHelper.d.ts +29 -0
- package/build/types/observable/internal/links/LinksHelper.d.ts.map +1 -0
- package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts +17 -0
- package/build/types/observable/internal/links/SpecificLinkCacheKey.d.ts.map +1 -0
- package/build/types/observable/internal/links/SpecificLinkQuery.d.ts +45 -0
- package/build/types/observable/internal/links/SpecificLinkQuery.d.ts.map +1 -0
- package/build/types/observable/internal/list/ListsHelper.d.ts +17 -0
- package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -0
- package/build/types/observable/internal/object/ObjectsHelper.d.ts +11 -0
- package/build/types/observable/internal/object/ObjectsHelper.d.ts.map +1 -0
- package/build/types/observable/internal/removeDuplicates.d.ts +11 -0
- package/build/types/observable/internal/removeDuplicates.d.ts.map +1 -0
- package/build/types/observable/internal/sorting/SortingStrategy.d.ts +41 -0
- package/build/types/observable/internal/sorting/SortingStrategy.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils/invalidateList.d.ts +9 -0
- package/build/types/observable/internal/testUtils/invalidateList.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts +46 -0
- package/build/types/observable/internal/testUtils/observeLink/expectStandardObserveLink.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts +26 -0
- package/build/types/observable/internal/testUtils/observeObject/expectStandardObserveObject.d.ts.map +1 -0
- package/build/types/observable/internal/testUtils.d.ts +25 -3
- package/build/types/observable/internal/testUtils.d.ts.map +1 -1
- package/build/types/public/unstable-do-not-use.d.ts +4 -2
- package/build/types/public/unstable-do-not-use.d.ts.map +1 -1
- package/package.json +10 -10
- package/build/cjs/chunk-BJYCRD5Y.cjs.map +0 -1
- package/build/cjs/chunk-URDXPIRU.cjs.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSet.test.js","names":["isOk","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","objectTypeWithAllPropertyTypes","Office","LegacyFauxFoundry","startNodeApiServer","stubData","beforeAll","describe","expect","expectTypeOf","it","createClient","client","testSetup","apiServer","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","data","employees","fetchPage","pks","Set","emp","add","$primaryKey","size","toEqual","has","employee1","employeeId","toBe","employee2","employee3","employee4withDerived","employeePassesStrict","__primaryKey","employee50050","objectSet2","where","subtractedObjectSet","objectSetResults","objectSet2Results","subtractedObjectSetResults","toHaveLength","length","find","x","toBeUndefined","intersectedObjectSet","$isNull","$orderBy","map","e","employee","fetchOne","toMatchTypeOf","fetchOneByRid","__rid","fetchPageByRid","$select","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","fullName","$containsAllTerms","office","term","fuzzySearch","$containsAnyTerm","toBeCallableWith","$and","$eq","$gte","$containsAllTermsInOrder","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","withProperties","base","aggregate","selectProperty","derivedPropertyName2","incorrect","fails","limit","percentile","numericAggregationObjectSet","setAggregationObjectSet","selectPropertyObjectSet","objectWithRdp","derivedPropertyName","objectWithUndefinedRdp","attachmentSelectDp","toMatchInlineSnapshot","geoSelectDp","geoCollectListDp","fetchPageTest","nearestNeighborsObjectSet","nearestNeighbors","filteredObjectSet","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.ts"],"sourcesContent":["/*\n * Copyright 2024 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 Attachment,\n CompileTimeMetadata,\n ConvertProps,\n FetchPageResult,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport { isOk } from \"@osdk/api\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n} from \"@osdk/api/unstable\";\nimport {\n BarInterface,\n BgaoNflPlayer,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n Office,\n} from \"@osdk/client.test.ontology\";\nimport {\n LegacyFauxFoundry,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ntype ApiNameAsString<\n T extends ObjectOrInterfaceDefinition,\n> = CompileTimeMetadata<T>[\"apiName\"];\n\ntype JustProps<\n T extends ObjectOrInterfaceDefinition,\n P extends ValidOsdkPropParams<T>,\n> = P extends \"$all\" ? PropertyKeys<T>\n : Exclude<P, SpecialOsdkPropParams>;\n\ntype SpecialOsdkPropParams =\n | \"$all\"\n | \"$rid\"\n | \"$strict\"\n | \"$notStrict\";\n\ntype ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> =\n | SpecialOsdkPropParams\n | PropertyKeys<Q>;\n\ntype PropMapToInterface<\n FROM extends ObjectTypeDefinition,\n TO extends InterfaceDefinition,\n> = NonNullable<\n CompileTimeMetadata<FROM>[\"inverseInterfaceMap\"]\n>[ApiNameAsString<TO>];\n\nexport type PropMapToObject<\n FROM extends ObjectOrInterfaceDefinition,\n TO extends ObjectTypeDefinition,\n> = NonNullable<CompileTimeMetadata<TO>[\"interfaceMap\"]>[ApiNameAsString<FROM>];\n\ndescribe(\"ObjectSet\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os: ObjectSet<Employee>) {\n return os;\n }\n\n function takesNewStyleObjectSet(os: Employee.ObjectSet) {\n return os;\n }\n\n function maybe() {\n const newStyleObjectSet: Employee.ObjectSet = client(Employee);\n const oldStyleObjectSet: ObjectSet<Employee> = newStyleObjectSet;\n\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n const { data: employees } = await unionedObjectSet.fetchPage();\n const pks = new Set<number>();\n for (const emp of employees) {\n pks.add(emp.$primaryKey);\n }\n\n expect(pks.size).toEqual(6);\n expect(pks.has(stubData.employee1.employeeId)).toBe(true);\n expect(pks.has(stubData.employee2.employeeId)).toBe(true);\n expect(pks.has(stubData.employee3.employeeId)).toBe(true);\n expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);\n expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);\n expect(pks.has(stubData.employee50050.employeeId)).toBe(true);\n });\n\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n\n const objectSetResults = await objectSet.fetchPage();\n const objectSet2Results = await objectSet2.fetchPage();\n const subtractedObjectSetResults = await subtractedObjectSet.fetchPage();\n\n expect(objectSet2Results.data).toHaveLength(1);\n expect(subtractedObjectSetResults.data).toHaveLength(\n objectSetResults.data.length - objectSet2Results.data.length,\n );\n expect(subtractedObjectSetResults.data.find(x => x.$primaryKey === 50030))\n .toBeUndefined();\n });\n\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n const iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n const pks = new Set<number>();\n for (const emp of employees) {\n pks.add(emp.$primaryKey);\n }\n\n expect(pks.size).toEqual(6);\n expect(pks.has(stubData.employee1.employeeId)).toBe(true);\n expect(pks.has(stubData.employee2.employeeId)).toBe(true);\n expect(pks.has(stubData.employee3.employeeId)).toBe(true);\n expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);\n expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);\n expect(pks.has(stubData.employee50050.employeeId)).toBe(true);\n });\n\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .where({\n employeeId: { $isNull: false },\n })\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n\n expect(employees.map(e => e.$primaryKey))\n .toEqual([\n 50030,\n 50031,\n 50032,\n 50033,\n 50035,\n stubData.employee50050.employeeId,\n ]);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n stubData.employee1.__rid,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching page of rids with experimental function\", async () => {\n const employees = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n ).fetchPageByRid(\n Employee,\n [stubData.employee1.__rid, stubData.employee2.__rid],\n {},\n );\n expectTypeOf<typeof employees>().toMatchTypeOf<\n FetchPageResult<Employee, PropertyKeys<Employee>, boolean, any, any>\n >;\n expect(employees.data[0].$primaryKey).toBe(stubData.employee1.employeeId);\n expect(employees.data[1].$primaryKey).toBe(stubData.employee2.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n stubData.employee2.__rid,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select 2\", async () => {\n const employees = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n ).fetchPageByRid(\n Employee,\n [stubData.employee2.__rid, stubData.employee3.__rid],\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employees>().toMatchTypeOf<\n FetchPageResult<Employee, \"fullName\", boolean, any, any>\n >;\n expect(employees.data[0].$primaryKey).toBe(stubData.employee2.employeeId);\n expect(employees.data[1].$primaryKey).toBe(stubData.employee3.employeeId);\n });\n\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\n \"tkelce\",\n );\n expectTypeOf<typeof player>().toMatchTypeOf<\n Osdk<BgaoNflPlayer, PropertyKeys<BgaoNflPlayer>>\n >;\n expectTypeOf<typeof player.address>().toMatchTypeOf<\n {\n addressLine1: string | undefined;\n addressLine2: string | undefined;\n city: string | undefined;\n state: string | undefined;\n zipCode: number | undefined;\n } | undefined\n >;\n\n const address1 = player.address!.addressLine1;\n expectTypeOf<typeof address1>().toMatchTypeOf<\n string | undefined\n >;\n expect(address1).toEqual(\"15 Muppets Lane\");\n\n const address2 = player.address?.addressLine2;\n expectTypeOf<typeof address2>().toMatchTypeOf<\n string | undefined\n >;\n expect(address2).toEqual(\"Resort No 4\");\n\n const city = player.address?.city;\n expectTypeOf<typeof city>().toMatchTypeOf<\n string | undefined\n >;\n expect(city).toEqual(\"Memphis\");\n\n const state = player.address?.state;\n expectTypeOf<typeof state>().toMatchTypeOf<\n string | undefined\n >;\n expect(state).toEqual(\"TN\");\n\n const zipCode = player.address?.zipCode;\n expectTypeOf<typeof zipCode>().toMatchTypeOf<\n number | undefined\n >;\n expect(zipCode).toEqual(11100);\n\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employeeResult>().toMatchTypeOf<\n Result<Osdk<Employee, PropertyKeys<Employee>>>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().branded.toEqualTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee, \"fullName\">>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee>>\n >;\n\n expect(\"error\" in employeeResult);\n });\n\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n const iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n const pks = new Set<number>();\n for (const emp of result.value!.data) {\n pks.add(emp.$primaryKey);\n }\n\n expect(pks.size).toEqual(6);\n expect(pks.has(stubData.employee1.employeeId)).toBe(true);\n expect(pks.has(stubData.employee2.employeeId)).toBe(true);\n expect(pks.has(stubData.employee3.employeeId)).toBe(true);\n expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);\n expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);\n expect(pks.has(stubData.employee50050.employeeId)).toBe(true);\n });\n\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking struct where clauses\", () => {\n expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({\n $and: [{ address: { city: { $eq: \"NYC\" } } }, {\n address: { zipCode: { $gte: 55555 } },\n }],\n });\n expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({\n address: {\n addressLine1: { $containsAllTerms: \"BLVD\" },\n // @ts-expect-error\n addressLine2: { $containsAllTermsInOrder: \"Apartment Number\" },\n },\n });\n });\n\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"] as const)(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(6);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(6);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\n });\n });\n });\n\n describe(\"Derived Properties Object Set\", () => {\n it(\"does not allow aggregate before a link type is selected\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n // @ts-expect-error\n base.aggregate(\"employeeId:exactDistinct\"),\n });\n });\n\n it(\"does not allow selectProperty when a many link was selected at any point\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"peeps\").selectProperty(\"employeeId\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").pivotTo(\"peeps\").selectProperty(\"employeeId\");\n\n return base.pivotTo(\"lead\").selectProperty(\"employeeId\");\n },\n });\n });\n\n it(\"enforces a return only of correct type\", () => {\n client(Employee).withProperties({\n // @ts-expect-error\n \"derivedPropertyName\": (base) => {\n return base.pivotTo(\"peeps\");\n },\n // @ts-expect-error\n \"derivedPropertyName2\": (base) => {\n return { incorrect: \"type\" };\n },\n });\n });\n\n // Executed code fails since we're providing bad strings to the function\n it.fails(\"correctly narrows types of aggregate function\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"notAProperty:sum\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\":avg\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"employeeId:notAnOp\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"\");\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\");\n\n return base.pivotTo(\"lead\").aggregate(\"employeeId:sum\");\n },\n });\n });\n\n // Executed code fails since we're providing bad strings to the function\n it(\"correctly narrows types of options for aggregate functions\", () => {\n const objectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"employeeId:approximateDistinct\", {\n limit: 1,\n });\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\", {\n limit: 1,\n });\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectSet\", { limit: 1 });\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\", {\n // @ts-expect-error\n percentile: 1,\n });\n\n return base.pivotTo(\"lead\").aggregate(\n \"employeeId:approximatePercentile\",\n { percentile: 0.5 },\n );\n },\n });\n\n expectTypeOf(objectSet).branded.toEqualTypeOf<\n ObjectSet<\n Employee,\n { derivedPropertyName: \"double\" | undefined }\n >\n >();\n });\n\n it(\"correctly narrows types of selectProperty function\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"lead\").selectProperty(\"notAProperty\");\n\n return base.pivotTo(\"lead\").selectProperty(\"employeeStatus\");\n },\n }) satisfies ObjectSet<\n Employee,\n {\n \"derivedPropertyName\": \"stringTimeseries\" | undefined;\n }\n >;\n });\n\n it(\"propagates derived property type to future object set operations with correct types\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n // @ts-expect-error\n }).where({ \"notAProperty\": { \"$eq\": 3 } });\n\n const numericAggregationObjectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": 3 } });\n\n expectTypeOf(numericAggregationObjectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"double\" | undefined;\n }>\n >();\n\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\"),\n }).where({ \"derivedPropertyName\": { \"$isNull\": false } })\n // @ts-expect-error\n .where({ \"derivedPropertyName\": { \"$eq\": [1, 2] } });\n\n const setAggregationObjectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"fullName:collectSet\"),\n });\n setAggregationObjectSet.where({\n \"derivedPropertyName\": { \"$isNull\": false },\n });\n\n setAggregationObjectSet.where({\n // @ts-expect-error\n \"derivedPropertyName\": { \"$eq\": [1, 2] },\n });\n expectTypeOf(setAggregationObjectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"string\"[] | undefined;\n }>\n >();\n\n const selectPropertyObjectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": 3 } });\n\n expectTypeOf(selectPropertyObjectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"integer\";\n }>\n >();\n\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"startDate\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": \"datetimeFilter\" } });\n });\n\n it(\"correctly types multiple property definitions in one clause\", () => {\n const objectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n \"derivedPropertyName2\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": 3 } })\n .where({ \"derivedPropertyName2\": { \"$eq\": \"name\" } });\n\n expectTypeOf(objectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"double\" | undefined;\n derivedPropertyName2: \"string\" | undefined;\n }>\n >();\n });\n\n it(\"ensures other properties are consistently typed\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).where({ \"fullName\": { \"$eq\": \"A\" } });\n\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).where({ \"employeeId\": { \"$eq\": 2 } });\n });\n\n it(\"allows fetching derived properties with correctly typed Osdk.Instance types\", async () => {\n const objectWithRdp = await client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).fetchOne(stubData.employee1.employeeId);\n\n expectTypeOf(objectWithRdp.derivedPropertyName).toEqualTypeOf<\n number\n >();\n expect(objectWithRdp.derivedPropertyName).toBe(\n stubData.employee2.__primaryKey,\n );\n\n const objectWithUndefinedRdp = await client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).fetchOne(stubData.employee2.employeeId, {\n $select: [\"derivedPropertyName\"],\n });\n\n expect(objectWithUndefinedRdp.derivedPropertyName).toBeUndefined();\n });\n\n it(\"correctly deserializes attachments and geo properties\", async () => {\n const objectWithRdp = await client(objectTypeWithAllPropertyTypes)\n .withProperties({\n \"attachmentSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"attachment\"),\n \"geoSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"geoShape\"),\n \"geoCollectListDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").aggregate(\n \"geoShapeArray:collectList\",\n ),\n }).fetchOne(5);\n\n expectTypeOf(objectWithRdp.attachmentSelectDp).toEqualTypeOf<\n Attachment | undefined\n >();\n expect(objectWithRdp.attachmentSelectDp).toMatchInlineSnapshot(\n `\n {\n \"fetchContents\": [Function],\n \"fetchMetadata\": [Function],\n \"rid\": \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n }\n `,\n );\n\n expectTypeOf(objectWithRdp.geoSelectDp).toEqualTypeOf<\n GeoJSON.GeoJSON | undefined\n >();\n expect(objectWithRdp.geoSelectDp).toMatchInlineSnapshot(`\n {\n \"coordinates\": [\n [\n [\n 1,\n 1,\n ],\n [\n 1,\n 2,\n ],\n [\n 2,\n 2,\n ],\n [\n 2,\n 1,\n ],\n [\n 1,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n }\n `);\n\n expectTypeOf(objectWithRdp.geoCollectListDp).toEqualTypeOf<\n GeoJSON.GeoJSON[] | undefined\n >();\n expect(objectWithRdp.geoCollectListDp).toMatchInlineSnapshot(`\n [\n [\n {\n \"coordinates\": [\n [\n [\n 1,\n 1,\n ],\n [\n 1,\n 2,\n ],\n [\n 2,\n 2,\n ],\n [\n 2,\n 1,\n ],\n [\n 1,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n ],\n ]\n `);\n\n // Tests that we deserialize properly for fetchPage as well\n const fetchPageTest = await client(objectTypeWithAllPropertyTypes)\n .withProperties({\n \"attachmentSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"attachment\"),\n \"geoSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"geoShape\"),\n \"geoCollectListDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").aggregate(\n \"geoShapeArray:collectList\",\n ),\n }).where({ \"id\": { \"$eq\": 5 } }).fetchPage();\n\n expect(fetchPageTest.data[0].attachmentSelectDp).toMatchInlineSnapshot(\n `\n {\n \"fetchContents\": [Function],\n \"fetchMetadata\": [Function],\n \"rid\": \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n }\n `,\n );\n });\n it(\"correctly deserializes count\", async () => {\n const objectWithRdp = await client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"$count\"),\n }).fetchOne(stubData.employee1.employeeId);\n\n expectTypeOf(objectWithRdp.derivedPropertyName).toEqualTypeOf<number>();\n expect(objectWithRdp.derivedPropertyName).toEqual(1);\n });\n });\n\n describe(\"nearestNeighbors\", () => {\n it(\"works as a subsequent object set operation\", async () => {\n const employeeObjectSet = client(Employee).where({\n employeeId: { $in: [50030, 50031] },\n });\n const nearestNeighborsObjectSet = await employeeObjectSet\n .nearestNeighbors(\n \"textQuery\",\n 3,\n \"skillSetEmbedding\",\n ).fetchPage();\n\n expect(nearestNeighborsObjectSet.data.length).toEqual(2);\n });\n\n it(\"works as a preceding object set operation\", async () => {\n const nearestNeighborsObjectSet = client(Employee).nearestNeighbors(\n \"textQuery\",\n 7,\n \"skillSetEmbedding\",\n );\n\n const filteredObjectSet = await nearestNeighborsObjectSet.where({\n employeeId: { $in: [50030, 50031] },\n }).fetchPage();\n\n expect(filteredObjectSet.data.length).toEqual(2);\n });\n });\n\n // Can't run these tests because we can't load by primary key!\n // describe.each([\"fetchOne\", \"fetchOneWithErrors\"] as const)(\"%s\", (k) => {\n // describe(\"strictNonNull: false\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"returns bad data\", async () => {\n // // Look at this\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: false,\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchOne\"\n // ? await client(Employee).fetchOne(50033, opts)\n // : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n // expect(result).not.toBeUndefined();\n // expectTypeOf(result).branded.toEqualTypeOf<\n // Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n // >();\n // });\n // });\n\n // describe(\"includeRid: false\", () => {\n // it(\"returns bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: false,\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchOne\"\n // ? await client(Employee).fetchOne(50033, opts)\n // : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n // expect(result).not.toBeUndefined();\n // expectTypeOf(result).branded.toEqualTypeOf<\n // Osdk<Employee, \"$all\" | \"$notStrict\">\n // >();\n // });\n // });\n // });\n // });\n\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n\n const empNotStrict = result.data[0];\n const empNotStrict2: Osdk<Employee, \"$all\" | \"$notStrict\"> =\n empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never, Employee.PropertyKeys>\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never>\n >();\n\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf<ApiNameAsString<FooInterface>>()\n .toEqualTypeOf<\"FooInterface\">();\n\n expectTypeOf<\n NonNullable<CompileTimeMetadata<Employee>[\"interfaceMap\"]>\n >()\n .toEqualTypeOf<{\n FooInterface: {\n fooSpt: \"fullName\";\n };\n }>();\n\n expectTypeOf<PropMapToInterface<Employee, FooInterface>>()\n .toEqualTypeOf<{ fullName: \"fooSpt\" }>();\n\n expectTypeOf<PropMapToObject<FooInterface, Employee>>()\n .toEqualTypeOf<{ fooSpt: \"fullName\" }>();\n\n expectTypeOf<ConvertProps<Employee, FooInterface, \"fullName\">>()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<JustProps<Employee, \"$all\">>()\n .toEqualTypeOf<\n | \"class\"\n | \"fullName\"\n | \"office\"\n | \"employeeId\"\n | \"employeeStatus\"\n | \"startDate\"\n | \"employeeLocation\"\n | \"employeeSensor\"\n | \"skillSet\"\n | \"skillSetEmbedding\"\n >();\n\n expectTypeOf<\n ConvertProps<Employee, FooInterface, \"fullName\" | \"office\">\n >()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<\n ConvertProps<FooInterface, Employee, \"fooSpt\">\n >()\n .toEqualTypeOf<\"fullName\">();\n\n expectTypeOf<\n ConvertProps<FooInterface, Employee, \"fooSpt\", \"$allBaseProperties\">\n >()\n .toEqualTypeOf<\n | \"employeeId\"\n | \"fullName\"\n | \"office\"\n | \"class\"\n | \"startDate\"\n | \"employeeStatus\"\n | \"employeeSensor\"\n | \"employeeLocation\"\n | \"skillSet\"\n | \"skillSetEmbedding\"\n >();\n\n // We don't have a proper definition that has\n // a non-null property on an interface so\n // we cheese it here to be sure the types work\n type CheesedProp<\n T extends InterfaceDefinition,\n K extends PropertyKeys<T>,\n > = T & { properties: { [KK in K]: { nullable: false } } };\n\n type CheesedFoo = CheesedProp<FooInterface, \"fooSpt\">;\n const CheesedFoo: CheesedFoo = FooInterface as CheesedFoo;\n\n type T = ConvertProps<Employee, CheesedFoo, \"fullName\">;\n\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf<\n Osdk<CheesedFoo, \"$all\" | \"$notStrict\">\n >();\n\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAeA,SAASA,IAAI,QAAQ,WAAW;AAChC,SACEC,gDAAgD,EAChDC,iDAAiD,QAC5C,oBAAoB;AAC3B,SACEC,YAAY,EACZC,aAAa,EACbC,QAAQ,EACRC,YAAY,EACZC,8BAA8B,EAC9BC,MAAM,QACD,4BAA4B;AACnC,SACEC,iBAAiB,EACjBC,kBAAkB,EAClBC,QAAQ,QACH,mBAAmB;AAC1B,SAASC,SAAS,EAAEC,QAAQ,EAAEC,MAAM,EAAEC,YAAY,EAAEC,EAAE,QAAQ,QAAQ;AAEtE,SAASC,YAAY,QAAQ,oBAAoB;AAkCjDJ,QAAQ,CAAC,WAAW,EAAE,MAAM;EAC1B,IAAIK,MAAc;EAElBN,SAAS,CAAC,MAAM;IACd,MAAMO,SAAS,GAAGT,kBAAkB,CAAC,IAAID,iBAAiB,CAAC,CAAC,EAAEQ,YAAY,CAAC;IAC3E,CAAC;MAAEC;IAAO,CAAC,GAAGC,SAAS;IACvB,OAAO,MAAM;MACXA,SAAS,CAACC,SAAS,CAACC,KAAK,CAAC,CAAC;IAC7B,CAAC;EACH,CAAC,CAAC;EAEFL,EAAE,CAAC,qEAAqE,EAAE,MAAM;IAC9E,MAAMM,iBAAiB,GAAGJ,MAAM,CAACb,QAAQ,CAAC;IAC1C,MAAMkB,eAAe,GAAGL,MAAM,CAACV,MAAM,CAAC;;IAEtC;IACAc,iBAAiB,CAACE,KAAK,CAACD,eAAe,CAAC;;IAExC;IACAD,iBAAiB,CAACG,QAAQ,CAACF,eAAe,CAAC;;IAE3C;IACAD,iBAAiB,CAACI,SAAS,CAACH,eAAe,CAAC;EAC9C,CAAC,CAAC;EAEFP,EAAE,CAAC,6BAA6B,EAAE,MAAM,CAwBxC,CAAC,CAAC;EAEFA,EAAE,CAAC,mBAAmB,EAAE,YAAY;IAClC,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC;IAClC,MAAMuB,gBAAgB,GAAGD,SAAS,CAACH,KAAK,CAACG,SAAS,CAAC;IACnD,MAAM;MAAEE,IAAI,EAAEC;IAAU,CAAC,GAAG,MAAMF,gBAAgB,CAACG,SAAS,CAAC,CAAC;IAC9D,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAS,CAAC;IAC7B,KAAK,MAAMC,GAAG,IAAIJ,SAAS,EAAE;MAC3BE,GAAG,CAACG,GAAG,CAACD,GAAG,CAACE,WAAW,CAAC;IAC1B;IAEAtB,MAAM,CAACkB,GAAG,CAACK,IAAI,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;IAC3BxB,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACgC,SAAS,CAACF,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACiC,SAAS,CAACH,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACkC,oBAAoB,CAACJ,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACpE5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACmC,oBAAoB,CAACC,YAAY,CAAC,CAAC,CAACL,IAAI,CAAC,IAAI,CAAC;IACtE5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACqC,aAAa,CAACP,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;EAC/D,CAAC,CAAC;EAEF1B,EAAE,CAAC,sBAAsB,EAAE,YAAY;IACrC,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC;IAClC,MAAM4C,UAAU,GAAG/B,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MACxCT,UAAU,EAAE;IACd,CAAC,CAAC;IACF,MAAMU,mBAAmB,GAAGxB,SAAS,CAACF,QAAQ,CAACwB,UAAU,CAAC;IAE1D,MAAMG,gBAAgB,GAAG,MAAMzB,SAAS,CAACI,SAAS,CAAC,CAAC;IACpD,MAAMsB,iBAAiB,GAAG,MAAMJ,UAAU,CAAClB,SAAS,CAAC,CAAC;IACtD,MAAMuB,0BAA0B,GAAG,MAAMH,mBAAmB,CAACpB,SAAS,CAAC,CAAC;IAExEjB,MAAM,CAACuC,iBAAiB,CAACxB,IAAI,CAAC,CAAC0B,YAAY,CAAC,CAAC,CAAC;IAC9CzC,MAAM,CAACwC,0BAA0B,CAACzB,IAAI,CAAC,CAAC0B,YAAY,CAClDH,gBAAgB,CAACvB,IAAI,CAAC2B,MAAM,GAAGH,iBAAiB,CAACxB,IAAI,CAAC2B,MACxD,CAAC;IACD1C,MAAM,CAACwC,0BAA0B,CAACzB,IAAI,CAAC4B,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACtB,WAAW,KAAK,KAAK,CAAC,CAAC,CACvEuB,aAAa,CAAC,CAAC;EACpB,CAAC,CAAC;EAEF3C,EAAE,CAAC,uBAAuB,EAAE,YAAY;IACtC,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC;IAClC,MAAMuD,oBAAoB,GAAGjC,SAAS,CAACD,SAAS,CAACC,SAAS,CAAC;IAE3D,MAAM;MAAEE,IAAI,EAAEC;IAAU,CAAC,GAAG,MAAM8B,oBAAoB,CAAC7B,SAAS,CAAC,CAAC;IAClE,MAAMC,GAAG,GAAG,IAAIC,GAAG,CAAS,CAAC;IAC7B,KAAK,MAAMC,GAAG,IAAIJ,SAAS,EAAE;MAC3BE,GAAG,CAACG,GAAG,CAACD,GAAG,CAACE,WAAW,CAAC;IAC1B;IAEAtB,MAAM,CAACkB,GAAG,CAACK,IAAI,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;IAC3BxB,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACgC,SAAS,CAACF,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACiC,SAAS,CAACH,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACkC,oBAAoB,CAACJ,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACpE5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACmC,oBAAoB,CAACC,YAAY,CAAC,CAAC,CAACL,IAAI,CAAC,IAAI,CAAC;IACtE5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACqC,aAAa,CAACP,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;EAC/D,CAAC,CAAC;EAEF1B,EAAE,CAAC,6EAA6E,EAAE,YAAY;IAC5F,MAAM;MAAEa,IAAI,EAAEC;IAAU,CAAC,GAAG,MAAMZ,MAAM,CAACb,QAAQ,CAAC,CAC/C6C,KAAK,CAAC;MACLT,UAAU,EAAE;QAAEoB,OAAO,EAAE;MAAM;IAC/B,CAAC,CAAC,CACD9B,SAAS,CAAC;MACT+B,QAAQ,EAAE;QAAE,YAAY,EAAE;MAAM;IAClC,CAAC,CAAC;IAEJhD,MAAM,CAACgB,SAAS,CAACiC,GAAG,CAACC,CAAC,IAAIA,CAAC,CAAC5B,WAAW,CAAC,CAAC,CACtCE,OAAO,CAAC,CACP,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL,KAAK,EACL3B,QAAQ,CAACqC,aAAa,CAACP,UAAU,CAClC,CAAC;EACN,CAAC,CAAC;EAEFzB,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAMiD,QAAQ,GAAG,MAAM/C,MAAM,CAACb,QAAQ,CAAC,CAAC6D,QAAQ,CAC9CvD,QAAQ,CAAC6B,SAAS,CAACC,UACrB,CAAC;IACD1B,YAAY,CAAkB,CAAC,CAACoD,aAAa;IAG7CrD,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;EAClE,CAAC,CAAC;EAEFzB,EAAE,CAAC,mDAAmD,EAAE,YAAY;IAClE,MAAMiD,QAAQ,GAAG,MAAM/C,MAAM,CAC3BjB,gDACF,CAAC,CAACmE,aAAa,CACb/D,QAAQ,EACRM,QAAQ,CAAC6B,SAAS,CAAC6B,KACrB,CAAC;IACDtD,YAAY,CAAkB,CAAC,CAACoD,aAAa;IAG7CrD,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;EAClE,CAAC,CAAC;EAEFzB,EAAE,CAAC,yDAAyD,EAAE,YAAY;IACxE,MAAMc,SAAS,GAAG,MAAMZ,MAAM,CAC5BhB,iDACF,CAAC,CAACoE,cAAc,CACdjE,QAAQ,EACR,CAACM,QAAQ,CAAC6B,SAAS,CAAC6B,KAAK,EAAE1D,QAAQ,CAACgC,SAAS,CAAC0B,KAAK,CAAC,EACpD,CAAC,CACH,CAAC;IACDtD,YAAY,CAAmB,CAAC,CAACoD,aAAa;IAG9CrD,MAAM,CAACgB,SAAS,CAACD,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;IACzE3B,MAAM,CAACgB,SAAS,CAACD,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAACgC,SAAS,CAACF,UAAU,CAAC;EAC3E,CAAC,CAAC;EAEFzB,EAAE,CAAC,gEAAgE,EAAE,YAAY;IAC/E,MAAMiD,QAAQ,GAAG,MAAM/C,MAAM,CAC3BjB,gDACF,CAAC,CAACmE,aAAa,CACb/D,QAAQ,EACRM,QAAQ,CAACgC,SAAS,CAAC0B,KAAK,EACxB;MAAEE,OAAO,EAAE,CAAC,UAAU;IAAE,CAC1B,CAAC;IACDxD,YAAY,CAAkB,CAAC,CAACoD,aAAa;IAG7CrD,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAACgC,SAAS,CAACF,UAAU,CAAC;EAClE,CAAC,CAAC;EAEFzB,EAAE,CAAC,kEAAkE,EAAE,YAAY;IACjF,MAAMc,SAAS,GAAG,MAAMZ,MAAM,CAC5BhB,iDACF,CAAC,CAACoE,cAAc,CACdjE,QAAQ,EACR,CAACM,QAAQ,CAACgC,SAAS,CAAC0B,KAAK,EAAE1D,QAAQ,CAACiC,SAAS,CAACyB,KAAK,CAAC,EACpD;MAAEE,OAAO,EAAE,CAAC,UAAU;IAAE,CAC1B,CAAC;IACDxD,YAAY,CAAmB,CAAC,CAACoD,aAAa;IAG9CrD,MAAM,CAACgB,SAAS,CAACD,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAACgC,SAAS,CAACF,UAAU,CAAC;IACzE3B,MAAM,CAACgB,SAAS,CAACD,IAAI,CAAC,CAAC,CAAC,CAACO,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAACiC,SAAS,CAACH,UAAU,CAAC;EAC3E,CAAC,CAAC;EAEFzB,EAAE,CAAC,sBAAsB,EAAE,YAAY;IACrC,MAAMwD,MAAM,GAAG,MAAMtD,MAAM,CAACd,aAAa,CAAC,CAAC8D,QAAQ,CACjD,QACF,CAAC;IACDnD,YAAY,CAAgB,CAAC,CAACoD,aAAa;IAG3CpD,YAAY,CAAwB,CAAC,CAACoD,aAAa;IAUnD,MAAMM,QAAQ,GAAGD,MAAM,CAACE,OAAO,CAAEC,YAAY;IAC7C5D,YAAY,CAAkB,CAAC,CAACoD,aAAa;IAG7CrD,MAAM,CAAC2D,QAAQ,CAAC,CAACnC,OAAO,CAAC,iBAAiB,CAAC;IAE3C,MAAMsC,QAAQ,GAAGJ,MAAM,CAACE,OAAO,EAAEG,YAAY;IAC7C9D,YAAY,CAAkB,CAAC,CAACoD,aAAa;IAG7CrD,MAAM,CAAC8D,QAAQ,CAAC,CAACtC,OAAO,CAAC,aAAa,CAAC;IAEvC,MAAMwC,IAAI,GAAGN,MAAM,CAACE,OAAO,EAAEI,IAAI;IACjC/D,YAAY,CAAc,CAAC,CAACoD,aAAa;IAGzCrD,MAAM,CAACgE,IAAI,CAAC,CAACxC,OAAO,CAAC,SAAS,CAAC;IAE/B,MAAMyC,KAAK,GAAGP,MAAM,CAACE,OAAO,EAAEK,KAAK;IACnChE,YAAY,CAAe,CAAC,CAACoD,aAAa;IAG1CrD,MAAM,CAACiE,KAAK,CAAC,CAACzC,OAAO,CAAC,IAAI,CAAC;IAE3B,MAAM0C,OAAO,GAAGR,MAAM,CAACE,OAAO,EAAEM,OAAO;IACvCjE,YAAY,CAAiB,CAAC,CAACoD,aAAa;IAG5CrD,MAAM,CAACkE,OAAO,CAAC,CAAC1C,OAAO,CAAC,KAAK,CAAC;IAE9BxB,MAAM,CAAC0D,MAAM,CAACpC,WAAW,CAAC,CAACE,OAAO,CAAC3B,QAAQ,CAACsE,YAAY,CAAClC,YAAY,CAAC;IACtEjC,MAAM,CAAC0D,MAAM,CAACE,OAAO,CAAC,CAACpC,OAAO,CAAC3B,QAAQ,CAACsE,YAAY,CAACP,OAAO,CAAC;EAC/D,CAAC,CAAC;EAEF1D,EAAE,CAAC,mEAAmE,EAAE,YAAY;IAClF,MAAMkE,cAAc,GAAG,MAAMhE,MAAM,CAACb,QAAQ,CAAC,CAC1C8E,kBAAkB,CACjBxE,QAAQ,CAAC6B,SAAS,CAACC,UACrB,CAAC;IACH1B,YAAY,CAAwB,CAAC,CAACoD,aAAa;IAInD,IAAInE,IAAI,CAACkF,cAAc,CAAC,EAAE;MACxB,MAAMjB,QAAQ,GAAGiB,cAAc,CAACE,KAAK;MACrCtE,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;IAClE;EACF,CAAC,CAAC;EAEFzB,EAAE,CAAC,kFAAkF,EAAE,YAAY;IACjG,MAAMiD,QAAQ,GAAG,MAAM/C,MAAM,CAACb,QAAQ,CAAC,CAAC6D,QAAQ,CAC9CvD,QAAQ,CAAC6B,SAAS,CAACC,UAAU,EAC7B;MAAE8B,OAAO,EAAE,CAAC,UAAU;IAAE,CAC1B,CAAC;IACDxD,YAAY,CAAkB,CAAC,CAACsE,OAAO,CAACC,aAAa;IAGrDxE,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;EAClE,CAAC,CAAC;EAEFzB,EAAE,CAAC,4FAA4F,EAAE,YAAY;IAC3G,MAAMkE,cAAc,GAAG,MAAMhE,MAAM,CAACb,QAAQ,CAAC,CAC1C8E,kBAAkB,CACjBxE,QAAQ,CAAC6B,SAAS,CAACC,UAAU,EAC7B;MAAE8B,OAAO,EAAE,CAAC,UAAU;IAAE,CAC1B,CAAC;IACHxD,YAAY,CAAwB,CAAC,CAACsE,OAAO,CAACC,aAAa;IAI3D,IAAItF,IAAI,CAACkF,cAAc,CAAC,EAAE;MACxB,MAAMjB,QAAQ,GAAGiB,cAAc,CAACE,KAAK;MACrCtE,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;IAClE;EACF,CAAC,CAAC;EAEFzB,EAAE,CAAC,0EAA0E,EAAE,YAAY;IACzF,MAAMF,MAAM,CAACI,MAAM,CAACb,QAAQ,CAAC,CAAC6D,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAACqB,OAAO,CAChDC,OAAO,CAAC,CAAC;EACd,CAAC,CAAC;EAEFxE,EAAE,CAAC,oFAAoF,EAAE,YAAY;IACnG,MAAMkE,cAAc,GAAG,MAAMhE,MAAM,CAACb,QAAQ,CAAC,CAC1C8E,kBAAkB,CAAC,CAAC,CAAC,CAAC;IAEzBpE,YAAY,CAAwB,CAAC,CAACsE,OAAO,CAACC,aAAa;IAI3DxE,MAAM,CAAC,OAAO,IAAIoE,cAAc,CAAC;EACnC,CAAC,CAAC;EAEFlE,EAAE,CAAC,4DAA4D,EAAE,YAAY;IAC3E,MAAMiD,QAAQ,GAAG,MAAM/C,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MAC5CT,UAAU,EAAE9B,QAAQ,CAACgC,SAAS,CAACF;IACjC,CAAC,CAAC,CACCgD,OAAO,CAAC,OAAO,CAAC,CAACvB,QAAQ,CAACvD,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;IAE3D3B,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;EAClE,CAAC,CAAC;EAEFzB,EAAE,CAAC,sEAAsE,EAAE,YAAY;IACrF,MAAMkE,cAAc,GAAG,MAAMhE,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MAClDT,UAAU,EAAE9B,QAAQ,CAACgC,SAAS,CAACF;IACjC,CAAC,CAAC,CACCgD,OAAO,CAAC,OAAO,CAAC,CAACN,kBAAkB,CAACxE,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;IAErE,IAAIzC,IAAI,CAACkF,cAAc,CAAC,EAAE;MACxB,MAAMjB,QAAQ,GAAGiB,cAAc,CAACE,KAAK;MACrCtE,MAAM,CAACmD,QAAQ,CAAC7B,WAAW,CAAC,CAACM,IAAI,CAAC/B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;IAClE;EACF,CAAC,CAAC;EAEFzB,EAAE,CAAC,kDAAkD,EAAE,YAAY;IACjE,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC;IAClC,MAAMuB,gBAAgB,GAAGD,SAAS,CAACH,KAAK,CAACG,SAAS,CAAC;IAEnD,MAAM+D,MAAM,GAAG,MAAM9D,gBAAgB,CAAC+D,mBAAmB,CAAC,CAAC;IAC3D,MAAM3D,GAAG,GAAG,IAAIC,GAAG,CAAS,CAAC;IAC7B,KAAK,MAAMC,GAAG,IAAIwD,MAAM,CAACN,KAAK,CAAEvD,IAAI,EAAE;MACpCG,GAAG,CAACG,GAAG,CAACD,GAAG,CAACE,WAAW,CAAC;IAC1B;IAEAtB,MAAM,CAACkB,GAAG,CAACK,IAAI,CAAC,CAACC,OAAO,CAAC,CAAC,CAAC;IAC3BxB,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACgC,SAAS,CAACF,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACiC,SAAS,CAACH,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACzD5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACkC,oBAAoB,CAACJ,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;IACpE5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACmC,oBAAoB,CAACC,YAAY,CAAC,CAAC,CAACL,IAAI,CAAC,IAAI,CAAC;IACtE5B,MAAM,CAACkB,GAAG,CAACO,GAAG,CAAC5B,QAAQ,CAACqC,aAAa,CAACP,UAAU,CAAC,CAAC,CAACC,IAAI,CAAC,IAAI,CAAC;EAC/D,CAAC,CAAC;EAEF1B,EAAE,CAAC,uCAAuC,EAAE,MAAM;IAEhD,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MACvCT,UAAU,EAAE;QAAEmD,GAAG,EAFgB,CAAC,KAAK,EAAE,KAAK;MAEvB;IACzB,CAAC,CAAC;IACF9E,MAAM,CAACa,SAAS,CAAC,CAACkE,WAAW,CAAC,CAAC;EACjC,CAAC,CAAC;EAEF7E,EAAE,CAAC,kDAAkD,EAAE,MAAM;IAE3DE,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MACrB;MACA4C,qBAAqB,EAAE;QAAEF,GAAG,EAHK,CAAC,KAAK,EAAE,KAAK;MAGZ;IACpC,CAAC,CAAC;IAEF1E,MAAM,CAACf,YAAY,CAAC,CAAC+C,KAAK,CAAC;MACzB;MACA6C,eAAe,EAAE;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF/E,EAAE,CAAC,mDAAmD,EAAE,MAAM;IAE5DE,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MACrB8C,GAAG,EAAE,CAAC;QAAEC,QAAQ,EAAE;UAAEC,iBAAiB,EAAE;QAAa;MAAE,CAAC,EAAE;QACvDC,MAAM,EAAE;UAAED,iBAAiB,EAAE;YAAEE,IAAI,EAAE;UAAS;QAAE;MAClD,CAAC,EAAE;QACDH,QAAQ,EAAE;UACRC,iBAAiB,EAAE;YAAEE,IAAI,EAAE,YAAY;YAAEC,WAAW,EAAE;UAAM;QAC9D;MACF,CAAC,EAAE;QACD;QACAJ,QAAQ,EAAE;UAAEC,iBAAiB,EAAE;YAAEG,WAAW,EAAE;UAAM;QAAE;MACxD,CAAC;IACH,CAAC,CAAC;IAEFnF,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;MACrB8C,GAAG,EAAE,CAAC;QAAEC,QAAQ,EAAE;UAAEK,gBAAgB,EAAE;QAAa;MAAE,CAAC,EAAE;QACtDH,MAAM,EAAE;UAAEG,gBAAgB,EAAE;YAAEF,IAAI,EAAE;UAAS;QAAE;MACjD,CAAC,EAAE;QACDH,QAAQ,EAAE;UACRK,gBAAgB,EAAE;YAAEF,IAAI,EAAE,YAAY;YAAEC,WAAW,EAAE;UAAM;QAC7D;MACF,CAAC,EAAE;QACD;QACAJ,QAAQ,EAAE;UAAEK,gBAAgB,EAAE;YAAED,WAAW,EAAE;UAAM;QAAE;MACvD,CAAC;IACH,CAAC,CAAC;IAEFnF,MAAM,CAACf,YAAY,CAAC,CAAC+C,KAAK,CAAC;MACzB;MACA6C,eAAe,EAAE;IACnB,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF/E,EAAE,CAAC,oCAAoC,EAAE,MAAM;IAC7CD,YAAY,CAACG,MAAM,CAACd,aAAa,CAAC,CAAC8C,KAAK,CAAC,CAACqD,gBAAgB,CAAC;MACzDC,IAAI,EAAE,CAAC;QAAE9B,OAAO,EAAE;UAAEI,IAAI,EAAE;YAAE2B,GAAG,EAAE;UAAM;QAAE;MAAE,CAAC,EAAE;QAC5C/B,OAAO,EAAE;UAAEM,OAAO,EAAE;YAAE0B,IAAI,EAAE;UAAM;QAAE;MACtC,CAAC;IACH,CAAC,CAAC;IACF3F,YAAY,CAACG,MAAM,CAACd,aAAa,CAAC,CAAC8C,KAAK,CAAC,CAACqD,gBAAgB,CAAC;MACzD7B,OAAO,EAAE;QACPC,YAAY,EAAE;UAAEuB,iBAAiB,EAAE;QAAO,CAAC;QAC3C;QACArB,YAAY,EAAE;UAAE8B,wBAAwB,EAAE;QAAmB;MAC/D;IACF,CAAC,CAAC;EACJ,CAAC,CAAC;EAEF9F,QAAQ,CAAC+F,IAAI,CAAC,CAAC,WAAW,EAAE,qBAAqB,CAAU,CAAC,CAAC,IAAI,EAAGC,CAAC,IAAK;IACxE;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;IACA;;IAEAhG,QAAQ,CAAC,sBAAsB,EAAE,MAAM;MACrCA,QAAQ,CAAC,kBAAkB,EAAE,MAAM;QACjCG,EAAE,CAAC,kBAAkB,EAAE,YAAY;UACjC,MAAM8F,IAAI,GAAG;YACXC,6BAA6B,EAAE,KAAK;YACpCC,WAAW,EAAE;UACf,CAAU;UACV,MAAMtB,MAAM,GAAGmB,CAAC,KAAK,WAAW,GAC5B,MAAM3F,MAAM,CAACb,QAAQ,CAAC,CAAC0B,SAAS,CAAC+E,IAAI,CAAC,GACtC,CAAC,MAAM5F,MAAM,CAACb,QAAQ,CAAC,CAACsF,mBAAmB,CAACmB,IAAI,CAAC,EAAE1B,KAAM;UAE7DtE,MAAM,CAAC4E,MAAM,CAAC7D,IAAI,CAAC,CAAC0B,YAAY,CAAC,CAAC,CAAC;UACnCxC,YAAY,CAAC2E,MAAM,CAAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,CAACwD,OAAO,CAACC,aAAa,CAEhD,CAAC;QACL,CAAC,CAAC;MACJ,CAAC,CAAC;MAEFzE,QAAQ,CAAC,mBAAmB,EAAE,MAAM;QAClCG,EAAE,CAAC,kBAAkB,EAAE,YAAY;UACjC,MAAM8F,IAAI,GAAG;YACXE,WAAW,EAAE;UACf,CAAU;UACV,MAAMtB,MAAM,GAAGmB,CAAC,KAAK,WAAW,GAC5B,MAAM3F,MAAM,CAACb,QAAQ,CAAC,CAAC0B,SAAS,CAAC+E,IAAI,CAAC,GACtC,CAAC,MAAM5F,MAAM,CAACb,QAAQ,CAAC,CAACsF,mBAAmB,CAACmB,IAAI,CAAC,EAAE1B,KAAM;UAE7DtE,MAAM,CAAC4E,MAAM,CAAC7D,IAAI,CAAC,CAAC0B,YAAY,CAAC,CAAC,CAAC;UACnCxC,YAAY,CAAC2E,MAAM,CAAC7D,IAAI,CAAC,CAAC,CAAC,CAAC,CAACwD,OAAO,CAACC,aAAa,CAEhD,CAAC;QACL,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFzE,QAAQ,CAAC,+BAA+B,EAAE,MAAM;IAC9CG,EAAE,CAAC,yDAAyD,EAAE,MAAM;MAClEE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI;QAC1B;QACAA,IAAI,CAACC,SAAS,CAAC,0BAA0B;MAC7C,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFnG,EAAE,CAAC,0EAA0E,EAAE,MAAM;MACnFE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAAK;UAC/B;UACAA,IAAI,CAACzB,OAAO,CAAC,OAAO,CAAC,CAAC2B,cAAc,CAAC,YAAY,CAAC;;UAElD;UACAF,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAACA,OAAO,CAAC,OAAO,CAAC,CAAC2B,cAAc,CAAC,YAAY,CAAC;UAElE,OAAOF,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,YAAY,CAAC;QAC1D;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;IAEFpG,EAAE,CAAC,wCAAwC,EAAE,MAAM;MACjDE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B;QACA,qBAAqB,EAAGC,IAAI,IAAK;UAC/B,OAAOA,IAAI,CAACzB,OAAO,CAAC,OAAO,CAAC;QAC9B,CAAC;QACD;QACA,sBAAsB,EAAE4B,CAAA,KAAU;UAChC,OAAO;YAAEC,SAAS,EAAE;UAAO,CAAC;QAC9B;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;;IAEF;IACAtG,EAAE,CAACuG,KAAK,CAAC,+CAA+C,EAAE,MAAM;MAC9DrG,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAAK;UAC/B;UACAA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,kBAAkB,CAAC;;UAElD;UACAD,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,MAAM,CAAC;;UAEtC;UACAD,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,oBAAoB,CAAC;;UAEpD;UACAD,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,EAAE,CAAC;UAElCD,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,wBAAwB,CAAC;UAExD,OAAOD,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,gBAAgB,CAAC;QACzD;MACF,CAAC,CAAC;IACJ,CAAC,CAAC;;IAEF;IACAnG,EAAE,CAAC,4DAA4D,EAAE,MAAM;MACrE,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAChD,qBAAqB,EAAGC,IAAI,IAAK;UAC/B;UACAA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,gCAAgC,EAAE;YAC/DK,KAAK,EAAE;UACT,CAAC,CAAC;UAEFN,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,wBAAwB,EAAE;YACvDK,KAAK,EAAE;UACT,CAAC,CAAC;UAEFN,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,uBAAuB,EAAE;YAAEK,KAAK,EAAE;UAAE,CAAC,CAAC;UAErEN,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,wBAAwB,EAAE;YACvD;YACAM,UAAU,EAAE;UACd,CAAC,CAAC;UAEF,OAAOP,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CACnC,kCAAkC,EAClC;YAAEM,UAAU,EAAE;UAAI,CACpB,CAAC;QACH;MACF,CAAC,CAAC;MAEF1G,YAAY,CAACY,SAAS,CAAC,CAAC0D,OAAO,CAACC,aAAa,CAK3C,CAAC;IACL,CAAC,CAAC;IAEFtE,EAAE,CAAC,oDAAoD,EAAE,MAAM;MAC7DE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAAK;UAC/B;UACAA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,cAAc,CAAC;UAEnD,OAAOF,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,gBAAgB,CAAC;QAC9D;MACF,CAAC,CAAC;IAMJ,CAAC,CAAC;IAEFpG,EAAE,CAAC,qFAAqF,EAAE,MAAM;MAC9FE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,gBAAgB;QACjD;MACF,CAAC,CAAC,CAACjE,KAAK,CAAC;QAAE,cAAc,EAAE;UAAE,KAAK,EAAE;QAAE;MAAE,CAAC,CAAC;MAE1C,MAAMwE,2BAA2B,GAAGxG,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAClE,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,gBAAgB;MACnD,CAAC,CAAC,CAACjE,KAAK,CAAC;QAAE,qBAAqB,EAAE;UAAE,KAAK,EAAE;QAAE;MAAE,CAAC,CAAC;MAEjDnC,YAAY,CAAC2G,2BAA2B,CAAC,CAACpC,aAAa,CAIrD,CAAC;MAEHpE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,wBAAwB;MAC3D,CAAC,CAAC,CAACjE,KAAK,CAAC;QAAE,qBAAqB,EAAE;UAAE,SAAS,EAAE;QAAM;MAAE,CAAC;MACtD;MAAA,CACCA,KAAK,CAAC;QAAE,qBAAqB,EAAE;UAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QAAE;MAAE,CAAC,CAAC;MAEtD,MAAMyE,uBAAuB,GAAGzG,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9D,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,qBAAqB;MACxD,CAAC,CAAC;MACFQ,uBAAuB,CAACzE,KAAK,CAAC;QAC5B,qBAAqB,EAAE;UAAE,SAAS,EAAE;QAAM;MAC5C,CAAC,CAAC;MAEFyE,uBAAuB,CAACzE,KAAK,CAAC;QAC5B;QACA,qBAAqB,EAAE;UAAE,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;QAAE;MACzC,CAAC,CAAC;MACFnC,YAAY,CAAC4G,uBAAuB,CAAC,CAACrC,aAAa,CAIjD,CAAC;MAEH,MAAMsC,uBAAuB,GAAG1G,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9D,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,YAAY;MACpD,CAAC,CAAC,CAAClE,KAAK,CAAC;QAAE,qBAAqB,EAAE;UAAE,KAAK,EAAE;QAAE;MAAE,CAAC,CAAC;MAEjDnC,YAAY,CAAC6G,uBAAuB,CAAC,CAACtC,aAAa,CAIjD,CAAC;MAEHpE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,WAAW;MACnD,CAAC,CAAC,CAAClE,KAAK,CAAC;QAAE,qBAAqB,EAAE;UAAE,KAAK,EAAE;QAAiB;MAAE,CAAC,CAAC;IAClE,CAAC,CAAC;IAEFlC,EAAE,CAAC,6DAA6D,EAAE,MAAM;MACtE,MAAMW,SAAS,GAAGT,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAChD,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,gBAAgB,CAAC;QAClD,sBAAsB,EAAGD,IAAI,IAC3BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,UAAU;MAClD,CAAC,CAAC,CAAClE,KAAK,CAAC;QAAE,qBAAqB,EAAE;UAAE,KAAK,EAAE;QAAE;MAAE,CAAC,CAAC,CAC9CA,KAAK,CAAC;QAAE,sBAAsB,EAAE;UAAE,KAAK,EAAE;QAAO;MAAE,CAAC,CAAC;MAEvDnC,YAAY,CAACY,SAAS,CAAC,CAAC2D,aAAa,CAKnC,CAAC;IACL,CAAC,CAAC;IAEFtE,EAAE,CAAC,iDAAiD,EAAE,MAAM;MAC1DE,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,YAAY;MACpD,CAAC,CAAC,CAAClE,KAAK,CAAC;QAAE,UAAU,EAAE;UAAE,KAAK,EAAE;QAAI;MAAE,CAAC,CAAC;MAExChC,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC9B,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,YAAY;MACpD,CAAC,CAAC,CAAClE,KAAK,CAAC;QAAE,YAAY,EAAE;UAAE,KAAK,EAAE;QAAE;MAAE,CAAC,CAAC;IAC1C,CAAC,CAAC;IAEFlC,EAAE,CAAC,6EAA6E,EAAE,YAAY;MAC5F,MAAM6G,aAAa,GAAG,MAAM3G,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC1D,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,YAAY;MACpD,CAAC,CAAC,CAAClD,QAAQ,CAACvD,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;MAE1C1B,YAAY,CAAC8G,aAAa,CAACC,mBAAmB,CAAC,CAACxC,aAAa,CAE3D,CAAC;MACHxE,MAAM,CAAC+G,aAAa,CAACC,mBAAmB,CAAC,CAACpF,IAAI,CAC5C/B,QAAQ,CAACgC,SAAS,CAACI,YACrB,CAAC;MAED,MAAMgF,sBAAsB,GAAG,MAAM7G,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QACnE,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC2B,cAAc,CAAC,YAAY;MACpD,CAAC,CAAC,CAAClD,QAAQ,CAACvD,QAAQ,CAACgC,SAAS,CAACF,UAAU,EAAE;QACzC8B,OAAO,EAAE,CAAC,qBAAqB;MACjC,CAAC,CAAC;MAEFzD,MAAM,CAACiH,sBAAsB,CAACD,mBAAmB,CAAC,CAACnE,aAAa,CAAC,CAAC;IACpE,CAAC,CAAC;IAEF3C,EAAE,CAAC,uDAAuD,EAAE,YAAY;MACtE,MAAM6G,aAAa,GAAG,MAAM3G,MAAM,CAACX,8BAA8B,CAAC,CAC/D0G,cAAc,CAAC;QACd,oBAAoB,EAAGC,IAAI,IACzBA,IAAI,CAACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC2B,cAAc,CAAC,YAAY,CAAC;QAC/D,aAAa,EAAGF,IAAI,IAClBA,IAAI,CAACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC2B,cAAc,CAAC,UAAU,CAAC;QAC7D,kBAAkB,EAAGF,IAAI,IACvBA,IAAI,CAACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC0B,SAAS,CACxC,2BACF;MACJ,CAAC,CAAC,CAACjD,QAAQ,CAAC,CAAC,CAAC;MAEhBnD,YAAY,CAAC8G,aAAa,CAACG,kBAAkB,CAAC,CAAC1C,aAAa,CAE1D,CAAC;MACHxE,MAAM,CAAC+G,aAAa,CAACG,kBAAkB,CAAC,CAACC,qBAAqB,CAC5D;AACR;AACA;AACA;AACA;AACA;AACA,OACM,CAAC;MAEDlH,YAAY,CAAC8G,aAAa,CAACK,WAAW,CAAC,CAAC5C,aAAa,CAEnD,CAAC;MACHxE,MAAM,CAAC+G,aAAa,CAACK,WAAW,CAAC,CAACD,qBAAqB,CAAC;AAC9D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;MAEFlH,YAAY,CAAC8G,aAAa,CAACM,gBAAgB,CAAC,CAAC7C,aAAa,CAExD,CAAC;MACHxE,MAAM,CAAC+G,aAAa,CAACM,gBAAgB,CAAC,CAACF,qBAAqB,CAAC;AACnE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,CAAC;;MAEF;MACA,MAAMG,aAAa,GAAG,MAAMlH,MAAM,CAACX,8BAA8B,CAAC,CAC/D0G,cAAc,CAAC;QACd,oBAAoB,EAAGC,IAAI,IACzBA,IAAI,CAACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC2B,cAAc,CAAC,YAAY,CAAC;QAC/D,aAAa,EAAGF,IAAI,IAClBA,IAAI,CAACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC2B,cAAc,CAAC,UAAU,CAAC;QAC7D,kBAAkB,EAAGF,IAAI,IACvBA,IAAI,CAACzB,OAAO,CAAC,kBAAkB,CAAC,CAAC0B,SAAS,CACxC,2BACF;MACJ,CAAC,CAAC,CAACjE,KAAK,CAAC;QAAE,IAAI,EAAE;UAAE,KAAK,EAAE;QAAE;MAAE,CAAC,CAAC,CAACnB,SAAS,CAAC,CAAC;MAE9CjB,MAAM,CAACsH,aAAa,CAACvG,IAAI,CAAC,CAAC,CAAC,CAACmG,kBAAkB,CAAC,CAACC,qBAAqB,CACpE;AACR;AACA;AACA;AACA;AACA;AACA,OACM,CAAC;IACH,CAAC,CAAC;IACFjH,EAAE,CAAC,8BAA8B,EAAE,YAAY;MAC7C,MAAM6G,aAAa,GAAG,MAAM3G,MAAM,CAACb,QAAQ,CAAC,CAAC4G,cAAc,CAAC;QAC1D,qBAAqB,EAAGC,IAAI,IAC1BA,IAAI,CAACzB,OAAO,CAAC,MAAM,CAAC,CAAC0B,SAAS,CAAC,QAAQ;MAC3C,CAAC,CAAC,CAACjD,QAAQ,CAACvD,QAAQ,CAAC6B,SAAS,CAACC,UAAU,CAAC;MAE1C1B,YAAY,CAAC8G,aAAa,CAACC,mBAAmB,CAAC,CAACxC,aAAa,CAAS,CAAC;MACvExE,MAAM,CAAC+G,aAAa,CAACC,mBAAmB,CAAC,CAACxF,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC,CAAC;EACJ,CAAC,CAAC;EAEFzB,QAAQ,CAAC,kBAAkB,EAAE,MAAM;IACjCG,EAAE,CAAC,4CAA4C,EAAE,YAAY;MAC3D,MAAMM,iBAAiB,GAAGJ,MAAM,CAACb,QAAQ,CAAC,CAAC6C,KAAK,CAAC;QAC/CT,UAAU,EAAE;UAAEmD,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK;QAAE;MACpC,CAAC,CAAC;MACF,MAAMyC,yBAAyB,GAAG,MAAM/G,iBAAiB,CACtDgH,gBAAgB,CACf,WAAW,EACX,CAAC,EACD,mBACF,CAAC,CAACvG,SAAS,CAAC,CAAC;MAEfjB,MAAM,CAACuH,yBAAyB,CAACxG,IAAI,CAAC2B,MAAM,CAAC,CAAClB,OAAO,CAAC,CAAC,CAAC;IAC1D,CAAC,CAAC;IAEFtB,EAAE,CAAC,2CAA2C,EAAE,YAAY;MAC1D,MAAMqH,yBAAyB,GAAGnH,MAAM,CAACb,QAAQ,CAAC,CAACiI,gBAAgB,CACjE,WAAW,EACX,CAAC,EACD,mBACF,CAAC;MAED,MAAMC,iBAAiB,GAAG,MAAMF,yBAAyB,CAACnF,KAAK,CAAC;QAC9DT,UAAU,EAAE;UAAEmD,GAAG,EAAE,CAAC,KAAK,EAAE,KAAK;QAAE;MACpC,CAAC,CAAC,CAAC7D,SAAS,CAAC,CAAC;MAEdjB,MAAM,CAACyH,iBAAiB,CAAC1G,IAAI,CAAC2B,MAAM,CAAC,CAAClB,OAAO,CAAC,CAAC,CAAC;IAClD,CAAC,CAAC;EACJ,CAAC,CAAC;;EAEF;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEAzB,QAAQ,CAAC,aAAa,EAAE,MAAM;IAC5BA,QAAQ,CAAC,sBAAsB,EAAE,MAAM;MACrCG,EAAE,CAAC,kBAAkB,EAAE,YAAY;QACjC,MAAM0E,MAAM,GAAG,MAAMxE,MAAM,CAACb,QAAQ,CAAC,CAAC0B,SAAS,CAAC,CAAC,CAAC,CAAC;QAEnD,MAAMyG,YAAY,GAAG9C,MAAM,CAAC7D,IAAI,CAAC,CAAC,CAAC;QAGnCd,YAAY,CAACyH,YAAY,CAAC,CAACnD,OAAO,CAACC,aAAa,CAE9C,CAAC;QACHvE,YAAY,CAACyH,YAAY,CAAC,CAACnD,OAAO,CAACC,aAAa,CAE9C,CAAC;QACHvE,YAAY,CAACyH,YAAY,CAAC,CAACnD,OAAO,CAACC,aAAa,CAE9C,CAAC;QAEHvE,YAAY,CAACyH,YAAY,CAAC/F,UAAU,CAAC,CAAC6C,aAAa,CAEjD,CAAC;QAEHvE,YAAY,CAfVyH,YAAY,CAea/F,UAAU,CAAC,CAAC6C,aAAa,CAElD,CAAC;QAEHvE,YAAY,CAAgC,CAAC,CAC1CuE,aAAa,CAAiB,CAAC;QAElCvE,YAAY,CAEV,CAAC,CACAuE,aAAa,CAIX,CAAC;QAENvE,YAAY,CAA6C,CAAC,CACvDuE,aAAa,CAAyB,CAAC;QAE1CvE,YAAY,CAA0C,CAAC,CACpDuE,aAAa,CAAyB,CAAC;QAE1CvE,YAAY,CAAmD,CAAC,CAC7DuE,aAAa,CAAW,CAAC;QAE5BvE,YAAY,CAA8B,CAAC,CACxCuE,aAAa,CAWZ,CAAC;QAELvE,YAAY,CAEV,CAAC,CACAuE,aAAa,CAAW,CAAC;QAE5BvE,YAAY,CAEV,CAAC,CACAuE,aAAa,CAAa,CAAC;QAE9BvE,YAAY,CAEV,CAAC,CACAuE,aAAa,CAWZ,CAAC;;QAEL;QACA;QACA;;QAWA,MAAMmD,mBAAmB,GAAG/C,MAAM,CAAC7D,IAAI,CAAC,CAAC,CAAC,CAAC6G,GAAG,CAJfpI,YAI0B,CAAC;QAC1DS,YAAY,CAAC0H,mBAAmB,CAAC,CAACpD,OAAO,CAACC,aAAa,CAErD,CAAC;QAEHmD,mBAAmB,CAACE,MAAM;MAC5B,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC,CAAC;AACJ,CAAC,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSet.test.js","names":["isOk","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid","__EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid","BarInterface","BgaoNflPlayer","Employee","FooInterface","objectTypeWithAllPropertyTypes","Office","LegacyFauxFoundry","startNodeApiServer","stubData","beforeAll","describe","expect","expectTypeOf","it","createClient","client","testSetup","apiServer","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","data","employees","fetchPage","pks","Set","emp","add","$primaryKey","size","toEqual","has","employee1","employeeId","toBe","employee2","employee3","employee4withDerived","employeePassesStrict","__primaryKey","employee50050","objectSet2","where","subtractedObjectSet","objectSetResults","objectSet2Results","subtractedObjectSetResults","toHaveLength","length","find","x","toBeUndefined","intersectedObjectSet","$isNull","$orderBy","map","e","employee","fetchOne","toMatchTypeOf","fetchOneByRid","__rid","fetchPageByRid","fetchPageByRidNoType","$select","player","address1","address","addressLine1","address2","addressLine2","city","state","zipCode","travisPlayer","employeeResult","fetchOneWithErrors","value","branded","toEqualTypeOf","rejects","toThrow","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","fullName","$containsAllTerms","office","term","fuzzySearch","$containsAnyTerm","toBeCallableWith","$and","$eq","$gte","$containsAllTermsInOrder","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","withProperties","base","aggregate","selectProperty","derivedPropertyName2","incorrect","fails","limit","percentile","numericAggregationObjectSet","setAggregationObjectSet","selectPropertyObjectSet","objectWithRdp","derivedPropertyName","objectWithUndefinedRdp","attachmentSelectDp","toMatchInlineSnapshot","geoSelectDp","geoCollectListDp","fetchPageTest","nearestNeighborsObjectSet","nearestNeighbors","filteredObjectSet","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.ts"],"sourcesContent":["/*\n * Copyright 2024 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 Attachment,\n CompileTimeMetadata,\n ConvertProps,\n FetchPageResult,\n InterfaceDefinition,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PropertyKeys,\n Result,\n} from \"@osdk/api\";\nimport { isOk } from \"@osdk/api\";\nimport {\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n} from \"@osdk/api/unstable\";\nimport {\n BarInterface,\n BgaoNflPlayer,\n Employee,\n FooInterface,\n objectTypeWithAllPropertyTypes,\n Office,\n} from \"@osdk/client.test.ontology\";\nimport {\n LegacyFauxFoundry,\n startNodeApiServer,\n stubData,\n} from \"@osdk/shared.test\";\nimport { beforeAll, describe, expect, expectTypeOf, it } from \"vitest\";\nimport type { Client } from \"../Client.js\";\nimport { createClient } from \"../createClient.js\";\n\ntype ApiNameAsString<\n T extends ObjectOrInterfaceDefinition,\n> = CompileTimeMetadata<T>[\"apiName\"];\n\ntype JustProps<\n T extends ObjectOrInterfaceDefinition,\n P extends ValidOsdkPropParams<T>,\n> = P extends \"$all\" ? PropertyKeys<T>\n : Exclude<P, SpecialOsdkPropParams>;\n\ntype SpecialOsdkPropParams =\n | \"$all\"\n | \"$rid\"\n | \"$strict\"\n | \"$notStrict\";\n\ntype ValidOsdkPropParams<Q extends ObjectOrInterfaceDefinition> =\n | SpecialOsdkPropParams\n | PropertyKeys<Q>;\n\ntype PropMapToInterface<\n FROM extends ObjectTypeDefinition,\n TO extends InterfaceDefinition,\n> = NonNullable<\n CompileTimeMetadata<FROM>[\"inverseInterfaceMap\"]\n>[ApiNameAsString<TO>];\n\nexport type PropMapToObject<\n FROM extends ObjectOrInterfaceDefinition,\n TO extends ObjectTypeDefinition,\n> = NonNullable<CompileTimeMetadata<TO>[\"interfaceMap\"]>[ApiNameAsString<FROM>];\n\ndescribe(\"ObjectSet\", () => {\n let client: Client;\n\n beforeAll(() => {\n const testSetup = startNodeApiServer(new LegacyFauxFoundry(), createClient);\n ({ client } = testSetup);\n return () => {\n testSetup.apiServer.close();\n };\n });\n\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os: ObjectSet<Employee>) {\n return os;\n }\n\n function takesNewStyleObjectSet(os: Employee.ObjectSet) {\n return os;\n }\n\n function maybe() {\n const newStyleObjectSet: Employee.ObjectSet = client(Employee);\n const oldStyleObjectSet: ObjectSet<Employee> = newStyleObjectSet;\n\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n const { data: employees } = await unionedObjectSet.fetchPage();\n const pks = new Set<number>();\n for (const emp of employees) {\n pks.add(emp.$primaryKey);\n }\n\n expect(pks.size).toEqual(6);\n expect(pks.has(stubData.employee1.employeeId)).toBe(true);\n expect(pks.has(stubData.employee2.employeeId)).toBe(true);\n expect(pks.has(stubData.employee3.employeeId)).toBe(true);\n expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);\n expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);\n expect(pks.has(stubData.employee50050.employeeId)).toBe(true);\n });\n\n it(\"objects set subtract\", async () => {\n const objectSet = client(Employee);\n const objectSet2 = client(Employee).where({\n employeeId: 50030,\n });\n const subtractedObjectSet = objectSet.subtract(objectSet2);\n\n const objectSetResults = await objectSet.fetchPage();\n const objectSet2Results = await objectSet2.fetchPage();\n const subtractedObjectSetResults = await subtractedObjectSet.fetchPage();\n\n expect(objectSet2Results.data).toHaveLength(1);\n expect(subtractedObjectSetResults.data).toHaveLength(\n objectSetResults.data.length - objectSet2Results.data.length,\n );\n expect(subtractedObjectSetResults.data.find(x => x.$primaryKey === 50030))\n .toBeUndefined();\n });\n\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n const iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n const pks = new Set<number>();\n for (const emp of employees) {\n pks.add(emp.$primaryKey);\n }\n\n expect(pks.size).toEqual(6);\n expect(pks.has(stubData.employee1.employeeId)).toBe(true);\n expect(pks.has(stubData.employee2.employeeId)).toBe(true);\n expect(pks.has(stubData.employee3.employeeId)).toBe(true);\n expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);\n expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);\n expect(pks.has(stubData.employee50050.employeeId)).toBe(true);\n });\n\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .where({\n employeeId: { $isNull: false },\n })\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n\n expect(employees.map(e => e.$primaryKey))\n .toEqual([\n 50030,\n 50031,\n 50032,\n 50033,\n 50035,\n stubData.employee50050.employeeId,\n ]);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n stubData.employee1.__rid,\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, PropertyKeys<Employee>>\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching page of rids with experimental function\", async () => {\n const employees = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n ).fetchPageByRid(\n Employee,\n [stubData.employee1.__rid, stubData.employee2.__rid],\n {},\n );\n expectTypeOf<typeof employees>().toMatchTypeOf<\n FetchPageResult<Employee, PropertyKeys<Employee>, boolean, any, any>\n >;\n expect(employees.data[0].$primaryKey).toBe(stubData.employee1.employeeId);\n expect(employees.data[1].$primaryKey).toBe(stubData.employee2.employeeId);\n });\n\n it(\"allows fetching a page of rids without a type specifier\", async () => {\n const employees = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n ).fetchPageByRidNoType(\n [stubData.employee1.__rid, stubData.employee2.__rid],\n {},\n );\n expectTypeOf<typeof employees>().toMatchTypeOf<\n FetchPageResult<\n ObjectOrInterfaceDefinition,\n PropertyKeys<ObjectOrInterfaceDefinition>,\n boolean,\n any,\n any\n >\n >;\n expect(employees.data[0].$primaryKey).toBe(stubData.employee1.employeeId);\n expect(employees.data[1].$primaryKey).toBe(stubData.employee2.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select\", async () => {\n const employee = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchOneByRid,\n ).fetchOneByRid(\n Employee,\n stubData.employee2.__rid,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().toMatchTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee2.employeeId);\n });\n\n it(\"allows fetching by rid with experimental function, with select 2\", async () => {\n const employees = await client(\n __EXPERIMENTAL__NOT_SUPPORTED_YET__fetchPageByRid,\n ).fetchPageByRid(\n Employee,\n [stubData.employee2.__rid, stubData.employee3.__rid],\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employees>().toMatchTypeOf<\n FetchPageResult<Employee, \"fullName\", boolean, any, any>\n >;\n expect(employees.data[0].$primaryKey).toBe(stubData.employee2.employeeId);\n expect(employees.data[1].$primaryKey).toBe(stubData.employee3.employeeId);\n });\n\n it(\"check struct parsing\", async () => {\n const player = await client(BgaoNflPlayer).fetchOne(\n \"tkelce\",\n );\n expectTypeOf<typeof player>().toMatchTypeOf<\n Osdk<BgaoNflPlayer, PropertyKeys<BgaoNflPlayer>>\n >;\n expectTypeOf<typeof player.address>().toMatchTypeOf<\n {\n addressLine1: string | undefined;\n addressLine2: string | undefined;\n city: string | undefined;\n state: string | undefined;\n zipCode: number | undefined;\n } | undefined\n >;\n\n const address1 = player.address!.addressLine1;\n expectTypeOf<typeof address1>().toMatchTypeOf<\n string | undefined\n >;\n expect(address1).toEqual(\"15 Muppets Lane\");\n\n const address2 = player.address?.addressLine2;\n expectTypeOf<typeof address2>().toMatchTypeOf<\n string | undefined\n >;\n expect(address2).toEqual(\"Resort No 4\");\n\n const city = player.address?.city;\n expectTypeOf<typeof city>().toMatchTypeOf<\n string | undefined\n >;\n expect(city).toEqual(\"Memphis\");\n\n const state = player.address?.state;\n expectTypeOf<typeof state>().toMatchTypeOf<\n string | undefined\n >;\n expect(state).toEqual(\"TN\");\n\n const zipCode = player.address?.zipCode;\n expectTypeOf<typeof zipCode>().toMatchTypeOf<\n number | undefined\n >;\n expect(zipCode).toEqual(11100);\n\n expect(player.$primaryKey).toEqual(stubData.travisPlayer.__primaryKey);\n expect(player.address).toEqual(stubData.travisPlayer.address);\n });\n\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n );\n expectTypeOf<typeof employeeResult>().toMatchTypeOf<\n Result<Osdk<Employee, PropertyKeys<Employee>>>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\"allows fetching by PK from a base object set with selected properties - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employee>().branded.toEqualTypeOf<\n Osdk<Employee, \"fullName\">\n >;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by PK from a base object set with selected properties - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(\n stubData.employee1.employeeId,\n { $select: [\"fullName\"] },\n );\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee, \"fullName\">>\n >;\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\"throws when fetching by PK with an object that does not exist - fetchOne\", async () => {\n await expect(client(Employee).fetchOne(-1)).rejects\n .toThrow();\n });\n\n it(\"throws when fetching by PK with an object that does not exist - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(-1);\n\n expectTypeOf<typeof employeeResult>().branded.toEqualTypeOf<\n Result<Osdk<Employee>>\n >;\n\n expect(\"error\" in employeeResult);\n });\n\n it(\"allows fetching by PK from a pivoted object set - fetchOne\", async () => {\n const employee = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOne(stubData.employee1.employeeId);\n\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n\n it(\"allows fetching by PK from a pivoted object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee).where({\n employeeId: stubData.employee2.employeeId,\n })\n .pivotTo(\"peeps\").fetchOneWithErrors(stubData.employee1.employeeId);\n\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n const iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n const pks = new Set<number>();\n for (const emp of result.value!.data) {\n pks.add(emp.$primaryKey);\n }\n\n expect(pks.size).toEqual(6);\n expect(pks.has(stubData.employee1.employeeId)).toBe(true);\n expect(pks.has(stubData.employee2.employeeId)).toBe(true);\n expect(pks.has(stubData.employee3.employeeId)).toBe(true);\n expect(pks.has(stubData.employee4withDerived.employeeId)).toBe(true);\n expect(pks.has(stubData.employeePassesStrict.__primaryKey)).toBe(true);\n expect(pks.has(stubData.employee50050.employeeId)).toBe(true);\n });\n\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids: ReadonlyArray<number> = [50030, 50031];\n client(Employee).where({\n $or: [{ fullName: { $containsAllTerms: \"John Smith\" } }, {\n office: { $containsAllTerms: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAllTerms: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAllTerms: { fuzzySearch: false } },\n }],\n });\n\n client(Employee).where({\n $or: [{ fullName: { $containsAnyTerm: \"John Smith\" } }, {\n office: { $containsAnyTerm: { term: \"NYC DC\" } },\n }, {\n fullName: {\n $containsAnyTerm: { term: \"John Smith\", fuzzySearch: false },\n },\n }, {\n // @ts-expect-error\n fullName: { $containsAnyTerm: { fuzzySearch: false } },\n }],\n });\n\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n\n it(\"type checking struct where clauses\", () => {\n expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({\n $and: [{ address: { city: { $eq: \"NYC\" } } }, {\n address: { zipCode: { $gte: 55555 } },\n }],\n });\n expectTypeOf(client(BgaoNflPlayer).where).toBeCallableWith({\n address: {\n addressLine1: { $containsAllTerms: \"BLVD\" },\n // @ts-expect-error\n addressLine2: { $containsAllTermsInOrder: \"Apartment Number\" },\n },\n });\n });\n\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"] as const)(\"%s\", (k) => {\n // describe(\"strictNonNull: \\\"drop\\\"\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Osdk<Employee, \"$rid\" | \"$all\">\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<\"$rid\">\n // >();\n // });\n // });\n\n // describe(\"includeRid: false\", () => {\n // it(\"drops bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: \"drop\",\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchPage\"\n // ? await client(Employee).fetchPage(opts)\n // : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n // expect(result.data).toHaveLength(3);\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<Osdk<Employee>>();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject\n // >();\n // expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n // Employee.OsdkObject<never>\n // >();\n // });\n // });\n // });\n\n describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(6);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n >();\n });\n });\n\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n } as const;\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value!;\n\n expect(result.data).toHaveLength(6);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n });\n });\n });\n });\n\n describe(\"Derived Properties Object Set\", () => {\n it(\"does not allow aggregate before a link type is selected\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n // @ts-expect-error\n base.aggregate(\"employeeId:exactDistinct\"),\n });\n });\n\n it(\"does not allow selectProperty when a many link was selected at any point\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"peeps\").selectProperty(\"employeeId\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").pivotTo(\"peeps\").selectProperty(\"employeeId\");\n\n return base.pivotTo(\"lead\").selectProperty(\"employeeId\");\n },\n });\n });\n\n it(\"enforces a return only of correct type\", () => {\n client(Employee).withProperties({\n // @ts-expect-error\n \"derivedPropertyName\": (base) => {\n return base.pivotTo(\"peeps\");\n },\n // @ts-expect-error\n \"derivedPropertyName2\": (base) => {\n return { incorrect: \"type\" };\n },\n });\n });\n\n // Executed code fails since we're providing bad strings to the function\n it.fails(\"correctly narrows types of aggregate function\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"notAProperty:sum\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\":avg\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"employeeId:notAnOp\");\n\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"\");\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\");\n\n return base.pivotTo(\"lead\").aggregate(\"employeeId:sum\");\n },\n });\n });\n\n // Executed code fails since we're providing bad strings to the function\n it(\"correctly narrows types of options for aggregate functions\", () => {\n const objectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"lead\").aggregate(\"employeeId:approximateDistinct\", {\n limit: 1,\n });\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\", {\n limit: 1,\n });\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectSet\", { limit: 1 });\n\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\", {\n // @ts-expect-error\n percentile: 1,\n });\n\n return base.pivotTo(\"lead\").aggregate(\n \"employeeId:approximatePercentile\",\n { percentile: 0.5 },\n );\n },\n });\n\n expectTypeOf(objectSet).branded.toEqualTypeOf<\n ObjectSet<\n Employee,\n { derivedPropertyName: \"double\" | undefined }\n >\n >();\n });\n\n it(\"correctly narrows types of selectProperty function\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) => {\n // @ts-expect-error\n base.pivotTo(\"lead\").selectProperty(\"notAProperty\");\n\n return base.pivotTo(\"lead\").selectProperty(\"employeeStatus\");\n },\n }) satisfies ObjectSet<\n Employee,\n {\n \"derivedPropertyName\": \"stringTimeseries\" | undefined;\n }\n >;\n });\n\n it(\"propagates derived property type to future object set operations with correct types\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n // @ts-expect-error\n }).where({ \"notAProperty\": { \"$eq\": 3 } });\n\n const numericAggregationObjectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": 3 } });\n\n expectTypeOf(numericAggregationObjectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"double\" | undefined;\n }>\n >();\n\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:collectList\"),\n }).where({ \"derivedPropertyName\": { \"$isNull\": false } })\n // @ts-expect-error\n .where({ \"derivedPropertyName\": { \"$eq\": [1, 2] } });\n\n const setAggregationObjectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"fullName:collectSet\"),\n });\n setAggregationObjectSet.where({\n \"derivedPropertyName\": { \"$isNull\": false },\n });\n\n setAggregationObjectSet.where({\n // @ts-expect-error\n \"derivedPropertyName\": { \"$eq\": [1, 2] },\n });\n expectTypeOf(setAggregationObjectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"string\"[] | undefined;\n }>\n >();\n\n const selectPropertyObjectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": 3 } });\n\n expectTypeOf(selectPropertyObjectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"integer\";\n }>\n >();\n\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"startDate\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": \"datetimeFilter\" } });\n });\n\n it(\"correctly types multiple property definitions in one clause\", () => {\n const objectSet = client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"employeeId:sum\"),\n \"derivedPropertyName2\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"fullName\"),\n }).where({ \"derivedPropertyName\": { \"$eq\": 3 } })\n .where({ \"derivedPropertyName2\": { \"$eq\": \"name\" } });\n\n expectTypeOf(objectSet).toEqualTypeOf<\n ObjectSet<Employee, {\n derivedPropertyName: \"double\" | undefined;\n derivedPropertyName2: \"string\" | undefined;\n }>\n >();\n });\n\n it(\"ensures other properties are consistently typed\", () => {\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).where({ \"fullName\": { \"$eq\": \"A\" } });\n\n client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).where({ \"employeeId\": { \"$eq\": 2 } });\n });\n\n it(\"allows fetching derived properties with correctly typed Osdk.Instance types\", async () => {\n const objectWithRdp = await client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).fetchOne(stubData.employee1.employeeId);\n\n expectTypeOf(objectWithRdp.derivedPropertyName).toEqualTypeOf<\n number\n >();\n expect(objectWithRdp.derivedPropertyName).toBe(\n stubData.employee2.__primaryKey,\n );\n\n const objectWithUndefinedRdp = await client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").selectProperty(\"employeeId\"),\n }).fetchOne(stubData.employee2.employeeId, {\n $select: [\"derivedPropertyName\"],\n });\n\n expect(objectWithUndefinedRdp.derivedPropertyName).toBeUndefined();\n });\n\n it(\"correctly deserializes attachments and geo properties\", async () => {\n const objectWithRdp = await client(objectTypeWithAllPropertyTypes)\n .withProperties({\n \"attachmentSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"attachment\"),\n \"geoSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"geoShape\"),\n \"geoCollectListDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").aggregate(\n \"geoShapeArray:collectList\",\n ),\n }).fetchOne(5);\n\n expectTypeOf(objectWithRdp.attachmentSelectDp).toEqualTypeOf<\n Attachment | undefined\n >();\n expect(objectWithRdp.attachmentSelectDp).toMatchInlineSnapshot(\n `\n {\n \"fetchContents\": [Function],\n \"fetchMetadata\": [Function],\n \"rid\": \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n }\n `,\n );\n\n expectTypeOf(objectWithRdp.geoSelectDp).toEqualTypeOf<\n GeoJSON.GeoJSON | undefined\n >();\n expect(objectWithRdp.geoSelectDp).toMatchInlineSnapshot(`\n {\n \"coordinates\": [\n [\n [\n 1,\n 1,\n ],\n [\n 1,\n 2,\n ],\n [\n 2,\n 2,\n ],\n [\n 2,\n 1,\n ],\n [\n 1,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n }\n `);\n\n expectTypeOf(objectWithRdp.geoCollectListDp).toEqualTypeOf<\n GeoJSON.GeoJSON[] | undefined\n >();\n expect(objectWithRdp.geoCollectListDp).toMatchInlineSnapshot(`\n [\n [\n {\n \"coordinates\": [\n [\n [\n 1,\n 1,\n ],\n [\n 1,\n 2,\n ],\n [\n 2,\n 2,\n ],\n [\n 2,\n 1,\n ],\n [\n 1,\n 1,\n ],\n ],\n ],\n \"type\": \"Polygon\",\n },\n ],\n ]\n `);\n\n // Tests that we deserialize properly for fetchPage as well\n const fetchPageTest = await client(objectTypeWithAllPropertyTypes)\n .withProperties({\n \"attachmentSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"attachment\"),\n \"geoSelectDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").selectProperty(\"geoShape\"),\n \"geoCollectListDp\": (base) =>\n base.pivotTo(\"linkedObjectType\").aggregate(\n \"geoShapeArray:collectList\",\n ),\n }).where({ \"id\": { \"$eq\": 5 } }).fetchPage();\n\n expect(fetchPageTest.data[0].attachmentSelectDp).toMatchInlineSnapshot(\n `\n {\n \"fetchContents\": [Function],\n \"fetchMetadata\": [Function],\n \"rid\": \"ri.attachments.main.attachment.86016861-707f-4292-b258-6a7108915a75\",\n }\n `,\n );\n });\n it(\"correctly deserializes count\", async () => {\n const objectWithRdp = await client(Employee).withProperties({\n \"derivedPropertyName\": (base) =>\n base.pivotTo(\"lead\").aggregate(\"$count\"),\n }).fetchOne(stubData.employee1.employeeId);\n\n expectTypeOf(objectWithRdp.derivedPropertyName).toEqualTypeOf<number>();\n expect(objectWithRdp.derivedPropertyName).toEqual(1);\n });\n });\n\n describe(\"nearestNeighbors\", () => {\n it(\"works as a subsequent object set operation\", async () => {\n const employeeObjectSet = client(Employee).where({\n employeeId: { $in: [50030, 50031] },\n });\n const nearestNeighborsObjectSet = await employeeObjectSet\n .nearestNeighbors(\n \"textQuery\",\n 3,\n \"skillSetEmbedding\",\n ).fetchPage();\n\n expect(nearestNeighborsObjectSet.data.length).toEqual(2);\n });\n\n it(\"works as a preceding object set operation\", async () => {\n const nearestNeighborsObjectSet = client(Employee).nearestNeighbors(\n \"textQuery\",\n 7,\n \"skillSetEmbedding\",\n );\n\n const filteredObjectSet = await nearestNeighborsObjectSet.where({\n employeeId: { $in: [50030, 50031] },\n }).fetchPage();\n\n expect(filteredObjectSet.data.length).toEqual(2);\n });\n });\n\n // Can't run these tests because we can't load by primary key!\n // describe.each([\"fetchOne\", \"fetchOneWithErrors\"] as const)(\"%s\", (k) => {\n // describe(\"strictNonNull: false\", () => {\n // describe(\"includeRid: true\", () => {\n // it(\"returns bad data\", async () => {\n // // Look at this\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: false,\n // $includeRid: true,\n // } as const;\n // const result = k === \"fetchOne\"\n // ? await client(Employee).fetchOne(50033, opts)\n // : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n // expect(result).not.toBeUndefined();\n // expectTypeOf(result).branded.toEqualTypeOf<\n // Osdk<Employee, \"$all\" | \"$notStrict\" | \"$rid\">\n // >();\n // });\n // });\n\n // describe(\"includeRid: false\", () => {\n // it(\"returns bad data\", async () => {\n // const opts = {\n // $__EXPERIMENTAL_strictNonNull: false,\n // $includeRid: false,\n // } as const;\n // const result = k === \"fetchOne\"\n // ? await client(Employee).fetchOne(50033, opts)\n // : (await client(Employee).fetchOneWithErrors(50033, opts)).value!;\n\n // expect(result).not.toBeUndefined();\n // expectTypeOf(result).branded.toEqualTypeOf<\n // Osdk<Employee, \"$all\" | \"$notStrict\">\n // >();\n // });\n // });\n // });\n // });\n\n describe(\"conversions\", () => {\n describe(\"strictNonNull: false\", () => {\n it(\"returns bad data\", async () => {\n const result = await client(Employee).fetchPage({});\n\n const empNotStrict = result.data[0];\n const empNotStrict2: Osdk<Employee, \"$all\" | \"$notStrict\"> =\n empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Osdk<Employee, \"$all\" | \"$notStrict\">\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never, Employee.PropertyKeys>\n >();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf<\n Employee.OsdkObject<never>\n >();\n\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf<\n number\n >();\n\n expectTypeOf<ApiNameAsString<FooInterface>>()\n .toEqualTypeOf<\"FooInterface\">();\n\n expectTypeOf<\n NonNullable<CompileTimeMetadata<Employee>[\"interfaceMap\"]>\n >()\n .toEqualTypeOf<{\n FooInterface: {\n fooSpt: \"fullName\";\n };\n }>();\n\n expectTypeOf<PropMapToInterface<Employee, FooInterface>>()\n .toEqualTypeOf<{ fullName: \"fooSpt\" }>();\n\n expectTypeOf<PropMapToObject<FooInterface, Employee>>()\n .toEqualTypeOf<{ fooSpt: \"fullName\" }>();\n\n expectTypeOf<ConvertProps<Employee, FooInterface, \"fullName\">>()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<JustProps<Employee, \"$all\">>()\n .toEqualTypeOf<\n | \"class\"\n | \"fullName\"\n | \"office\"\n | \"employeeId\"\n | \"employeeStatus\"\n | \"startDate\"\n | \"employeeLocation\"\n | \"employeeSensor\"\n | \"skillSet\"\n | \"skillSetEmbedding\"\n >();\n\n expectTypeOf<\n ConvertProps<Employee, FooInterface, \"fullName\" | \"office\">\n >()\n .toEqualTypeOf<\"fooSpt\">();\n\n expectTypeOf<\n ConvertProps<FooInterface, Employee, \"fooSpt\">\n >()\n .toEqualTypeOf<\"fullName\">();\n\n expectTypeOf<\n ConvertProps<FooInterface, Employee, \"fooSpt\", \"$allBaseProperties\">\n >()\n .toEqualTypeOf<\n | \"employeeId\"\n | \"fullName\"\n | \"office\"\n | \"class\"\n | \"startDate\"\n | \"employeeStatus\"\n | \"employeeSensor\"\n | \"employeeLocation\"\n | \"skillSet\"\n | \"skillSetEmbedding\"\n >();\n\n // We don't have a proper definition that has\n // a non-null property on an interface so\n // we cheese it here to be sure the types work\n type CheesedProp<\n T extends InterfaceDefinition,\n K extends PropertyKeys<T>,\n > = T & { properties: { [KK in K]: { nullable: false } } };\n\n type CheesedFoo = CheesedProp<FooInterface, \"fooSpt\">;\n const CheesedFoo: CheesedFoo = FooInterface as CheesedFoo;\n\n type T = ConvertProps<Employee, CheesedFoo, \"fullName\">;\n\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf<\n Osdk<CheesedFoo, \"$all\" | \"$notStrict\">\n >();\n\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -36,7 +36,9 @@ export function isObjectSet(o) {
|
|
|
36
36
|
export function getWireObjectSet(objectSet) {
|
|
37
37
|
return objectSetDefinitions.get(objectSet);
|
|
38
38
|
}
|
|
39
|
-
|
|
39
|
+
|
|
40
|
+
/** @internal exported for internal use only */
|
|
41
|
+
export const objectSetDefinitions = new WeakMap();
|
|
40
42
|
|
|
41
43
|
/** @internal */
|
|
42
44
|
export function createObjectSet(objectType, clientCtx, objectSet = resolveBaseObjectSetType(objectType)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createObjectSet.js","names":["createWithPropertiesObjectSet","modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","ObjectSetListenerWebsocket","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","nearestNeighbors","query","numNeighbors","property","nearestNeighborsQuery","isTextQuery","propertyIdentifier","apiName","asyncIter","args","$nextPageToken","undefined","result","$pageSize","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","getInstance","properties","unsubscribe","withProperties","definitionMap","Map","derivedProperties","key","Object","keys","derivedPropertyDefinition","$objectSetInternals","link","interfaceLink","set","objDef","ontologyProvider","getObjectDefinition","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2023 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 AsyncIterArgs,\n Augments,\n FetchPageResult,\n LinkedType,\n LinkNames,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n PropertyApiName,\n} from \"@osdk/foundry.ontologies\";\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\n\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\n/* @internal */\nexport function isObjectSet(o: any): o is ObjectSet<any> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\n/** @internal */\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\nconst objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"aggregate\"],\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo: function<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n nearestNeighbors: (query, numNeighbors, property) => {\n const nearestNeighborsQuery = isTextQuery(query)\n ? { \"type\": \"text\" as const, \"value\": query }\n : { \"type\": \"vector\" as const, \"value\": query };\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"nearestNeighbors\",\n objectSet,\n propertyIdentifier: {\n type: \"property\",\n apiName: property as PropertyApiName,\n },\n numNeighbors,\n query: nearestNeighborsQuery,\n },\n ) as ObjectSet<Q>;\n },\n\n asyncIter: async function*<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n T extends boolean = false,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S, T>,\n ): AsyncIterableIterator<SingleOsdkResult<Q, L, R, S, {}, T>> {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S,\n T\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $pageSize: 10000, $nextPageToken },\n true,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S, {}, T>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(\n clientCtx,\n ).subscribe(\n objectType,\n objectSet,\n listener,\n opts?.properties,\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n withProperties: (clause) => {\n const definitionMap = new Map<any, DerivedPropertyDefinition>();\n\n const derivedProperties: Record<string, DerivedPropertyDefinition> = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause\n [key](createWithPropertiesObjectSet(\n objectType,\n { type: \"methodInput\" },\n definitionMap,\n true,\n ));\n derivedProperties[key] = definitionMap.get(\n derivedPropertyDefinition,\n )!;\n }\n\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"withProperties\",\n derivedProperties: derivedProperties,\n objectSet: objectSet,\n },\n );\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n objectType.type === \"object\"\n ? {\n type: \"searchAround\",\n objectSet,\n link,\n }\n : {\n type: \"interfaceLinkSearchAround\",\n objectSet,\n interfaceLink: link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n\nfunction isTextQuery(query: string | number[]): query is string {\n return typeof query === \"string\";\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"createObjectSet.js","names":["createWithPropertiesObjectSet","modernToLegacyWhereClause","aggregate","fetchPageInternal","fetchPageWithErrorsInternal","fetchSingle","fetchSingleWithErrors","augmentRequestContext","resolveBaseObjectSetType","isWireObjectSet","ObjectSetListenerWebsocket","isObjectTypeDefinition","def","type","isObjectSet","o","objectSetDefinitions","get","getWireObjectSet","objectSet","WeakMap","createObjectSet","objectType","clientCtx","base","bind","globalThis","finalMethodCall","fetchPage","fetchPageWithErrors","where","clause","objectSetFactory","pivotTo","createSearchAround","union","objectSets","map","os","intersect","subtract","nearestNeighbors","query","numNeighbors","property","nearestNeighborsQuery","isTextQuery","propertyIdentifier","apiName","asyncIter","args","$nextPageToken","undefined","result","$pageSize","nextPageToken","obj","data","fetchOne","primaryKey","options","createWithPk","fetchOneWithErrors","subscribe","listener","opts","pendingSubscribe","getInstance","properties","unsubscribe","withProperties","definitionMap","Map","derivedProperties","key","Object","keys","derivedPropertyDefinition","$objectSetInternals","link","interfaceLink","set","objDef","ontologyProvider","getObjectDefinition","withPk","field","primaryKeyApiName","value"],"sources":["createObjectSet.ts"],"sourcesContent":["/*\n * Copyright 2023 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 AsyncIterArgs,\n Augments,\n FetchPageResult,\n LinkedType,\n LinkNames,\n NullabilityAdherence,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectSetArgs,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n Result,\n SelectArg,\n SingleOsdkResult,\n} from \"@osdk/api\";\nimport type { MinimalObjectSet } from \"@osdk/api/unstable\";\nimport type {\n DerivedPropertyDefinition,\n ObjectSet as WireObjectSet,\n PropertyApiName,\n} from \"@osdk/foundry.ontologies\";\nimport { createWithPropertiesObjectSet } from \"../derivedProperties/createWithPropertiesObjectSet.js\";\nimport { modernToLegacyWhereClause } from \"../internal/conversions/modernToLegacyWhereClause.js\";\nimport type { MinimalClient } from \"../MinimalClientContext.js\";\nimport { aggregate } from \"../object/aggregate.js\";\nimport {\n fetchPageInternal,\n fetchPageWithErrorsInternal,\n} from \"../object/fetchPage.js\";\nimport { fetchSingle, fetchSingleWithErrors } from \"../object/fetchSingle.js\";\nimport { augmentRequestContext } from \"../util/augmentRequestContext.js\";\nimport { resolveBaseObjectSetType } from \"../util/objectSetUtils.js\";\nimport { isWireObjectSet } from \"../util/WireObjectSet.js\";\nimport { ObjectSetListenerWebsocket } from \"./ObjectSetListenerWebsocket.js\";\n\nfunction isObjectTypeDefinition(\n def: ObjectOrInterfaceDefinition,\n): def is ObjectTypeDefinition {\n return def.type === \"object\";\n}\n\n/* @internal */\nexport function isObjectSet(o: any): o is ObjectSet<any> {\n return o != null && typeof o === \"object\"\n && isWireObjectSet(objectSetDefinitions.get(o));\n}\n\n/** @internal */\nexport function getWireObjectSet(\n objectSet: ObjectSet<any> | MinimalObjectSet<any>,\n): WireObjectSet {\n return objectSetDefinitions.get(objectSet)!;\n}\n\n/** @internal exported for internal use only */\nexport const objectSetDefinitions = new WeakMap<\n any,\n WireObjectSet\n>();\n\n/** @internal */\nexport function createObjectSet<Q extends ObjectOrInterfaceDefinition>(\n objectType: Q,\n clientCtx: MinimalClient,\n objectSet: WireObjectSet = resolveBaseObjectSetType(objectType),\n): ObjectSet<Q> {\n const base: ObjectSet<Q> = {\n aggregate: (aggregate<Q, any>).bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"aggregate\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"aggregate\"],\n\n fetchPage: fetchPageInternal.bind(\n globalThis,\n augmentRequestContext(clientCtx, _ => ({ finalMethodCall: \"fetchPage\" })),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPage\"],\n\n fetchPageWithErrors: fetchPageWithErrorsInternal.bind(\n globalThis,\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchPageWithErrors\" }),\n ),\n objectType,\n objectSet,\n ) as ObjectSet<Q>[\"fetchPageWithErrors\"],\n\n where: (clause) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"filter\",\n objectSet: objectSet,\n where: modernToLegacyWhereClause(clause, objectType),\n });\n },\n\n pivotTo: function<L extends LinkNames<Q>>(\n type: L,\n ): ObjectSet<LinkedType<Q, L>> {\n return createSearchAround(type)();\n },\n\n union: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"union\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n intersect: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"intersect\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n subtract: (...objectSets) => {\n return clientCtx.objectSetFactory(objectType, clientCtx, {\n type: \"subtract\",\n objectSets: [\n objectSet,\n ...objectSets.map(os => objectSetDefinitions.get(os)!),\n ],\n });\n },\n\n nearestNeighbors: (query, numNeighbors, property) => {\n const nearestNeighborsQuery = isTextQuery(query)\n ? { \"type\": \"text\" as const, \"value\": query }\n : { \"type\": \"vector\" as const, \"value\": query };\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"nearestNeighbors\",\n objectSet,\n propertyIdentifier: {\n type: \"property\",\n apiName: property as PropertyApiName,\n },\n numNeighbors,\n query: nearestNeighborsQuery,\n },\n ) as ObjectSet<Q>;\n },\n\n asyncIter: async function*<\n L extends PropertyKeys<Q>,\n R extends boolean,\n const A extends Augments,\n S extends NullabilityAdherence = NullabilityAdherence.Default,\n T extends boolean = false,\n ORDER_BY_OPTIONS extends ObjectSetArgs.OrderByOptions<L> = never,\n >(\n args?: AsyncIterArgs<Q, L, R, A, S, T, never, ORDER_BY_OPTIONS>,\n ): AsyncIterableIterator<\n SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>\n > {\n let $nextPageToken: string | undefined = undefined;\n do {\n const result: FetchPageResult<\n Q,\n L,\n R,\n S,\n T,\n ORDER_BY_OPTIONS\n > = await fetchPageInternal(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"asyncIter\" }),\n ),\n objectType,\n objectSet,\n { ...args, $pageSize: 10000, $nextPageToken },\n true,\n );\n $nextPageToken = result.nextPageToken;\n\n for (const obj of result.data) {\n yield obj as SingleOsdkResult<Q, L, R, S, {}, T, ORDER_BY_OPTIONS>;\n }\n } while ($nextPageToken != null);\n },\n\n fetchOne: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: PrimaryKeyType<Q>,\n options: A,\n ) => {\n return await fetchSingle(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOne\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Osdk<Q>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOne\"],\n\n fetchOneWithErrors: (isObjectTypeDefinition(objectType)\n ? async <A extends SelectArg<Q>>(\n primaryKey: Q extends ObjectTypeDefinition ? PrimaryKeyType<Q>\n : never,\n options: A,\n ) => {\n return await fetchSingleWithErrors(\n augmentRequestContext(\n clientCtx,\n _ => ({ finalMethodCall: \"fetchOneWithErrors\" }),\n ),\n objectType,\n options,\n await createWithPk(\n clientCtx,\n objectType,\n objectSet,\n primaryKey,\n ),\n ) as Result<Osdk<Q>>;\n }\n : undefined) as ObjectSet<Q>[\"fetchOneWithErrors\"],\n\n subscribe: (\n listener,\n opts,\n ) => {\n const pendingSubscribe = ObjectSetListenerWebsocket.getInstance(\n clientCtx,\n ).subscribe(\n objectType,\n objectSet,\n listener,\n opts?.properties,\n );\n\n return { unsubscribe: async () => (await pendingSubscribe)() };\n },\n\n withProperties: (clause) => {\n const definitionMap = new Map<any, DerivedPropertyDefinition>();\n\n const derivedProperties: Record<string, DerivedPropertyDefinition> = {};\n for (const key of Object.keys(clause)) {\n const derivedPropertyDefinition = clause\n [key](createWithPropertiesObjectSet(\n objectType,\n { type: \"methodInput\" },\n definitionMap,\n true,\n ));\n derivedProperties[key] = definitionMap.get(\n derivedPropertyDefinition,\n )!;\n }\n\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n {\n type: \"withProperties\",\n derivedProperties: derivedProperties,\n objectSet: objectSet,\n },\n );\n },\n\n $objectSetInternals: {\n def: objectType,\n },\n };\n\n function createSearchAround<L extends LinkNames<Q>>(link: L) {\n return () => {\n return clientCtx.objectSetFactory(\n objectType,\n clientCtx,\n objectType.type === \"object\"\n ? {\n type: \"searchAround\",\n objectSet,\n link,\n }\n : {\n type: \"interfaceLinkSearchAround\",\n objectSet,\n interfaceLink: link,\n },\n );\n };\n }\n\n objectSetDefinitions.set(base, objectSet);\n\n // we are using a type assertion because the marker symbol defined in BaseObjectSet isn't actually used\n // at runtime.\n return base as ObjectSet<Q>;\n}\n\nasync function createWithPk(\n clientCtx: MinimalClient,\n objectType: ObjectTypeDefinition,\n objectSet: WireObjectSet,\n primaryKey: PrimaryKeyType<ObjectTypeDefinition>,\n) {\n const objDef = await clientCtx.ontologyProvider.getObjectDefinition(\n objectType.apiName,\n );\n\n const withPk: WireObjectSet = {\n type: \"filter\",\n objectSet: objectSet,\n where: {\n type: \"eq\",\n field: objDef.primaryKeyApiName,\n value: primaryKey,\n },\n };\n return withPk;\n}\n\nfunction isTextQuery(query: string | number[]): query is string {\n return typeof query === \"string\";\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinkPayload.js","names":[],"sources":["LinkPayload.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 { InterfaceHolder } from \"../object/convertWireToOsdkObjects/InterfaceHolder.js\";\nimport type { ObjectHolder } from \"../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { ObserveLinkCallbackArgs } from \"./ObservableClient.js\";\n\n/**\n * Internal type to keep the generic insanity down internal to the observable code\n */\nexport interface SpecificLinkPayload\n extends Omit<ObserveLinkCallbackArgs<any>, \"resolvedList\">\n{\n resolvedList: Array<ObjectHolder | InterfaceHolder>;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectPayload.js","names":[],"sources":["ObjectPayload.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 { ObjectHolder } from \"../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { ObserveObjectArgs } from \"./ObservableClient.js\";\n\nexport interface ObjectPayload extends Omit<ObserveObjectArgs<any>, \"object\"> {\n object: ObjectHolder | undefined;\n}\n"],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectPayload.js","names":[],"sources":["ObjectPayload.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 { ObjectTypeDefinition, Osdk } from \"@osdk/api\";\nimport type { ObjectHolder } from \"../object/convertWireToOsdkObjects/ObjectHolder.js\";\nimport type { ObserveObjectArgs } from \"./ObservableClient.js\";\n\nexport interface ObjectPayload extends Omit<ObserveObjectArgs<any>, \"object\"> {\n object: ObjectHolder | undefined;\n}\n\nexport interface TypedObjectPayload<T extends ObjectTypeDefinition>\n extends ObjectPayload\n{\n object: ObjectHolder<Osdk.Instance<T>> & Osdk.Instance<T> | undefined;\n}\n"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright 2025 Palantir Technologies, Inc. All rights reserved.
|
|
3
|
+
*
|
|
4
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
5
|
+
* you may not use this file except in compliance with the License.
|
|
6
|
+
* You may obtain a copy of the License at
|
|
7
|
+
*
|
|
8
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
9
|
+
*
|
|
10
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
11
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
12
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
13
|
+
* See the License for the specific language governing permissions and
|
|
14
|
+
* limitations under the License.
|
|
15
|
+
*/
|
|
16
|
+
export let ObserveLinks;
|
|
17
|
+
//# sourceMappingURL=ObserveLink.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ObserveLink.js","names":["ObserveLinks"],"sources":["ObserveLink.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 CompileTimeMetadata,\n InterfaceDefinition,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n WhereClause,\n} from \"@osdk/api\";\nimport type { Unsubscribable } from \"../Unsubscribable.js\";\nimport type {\n CommonObserveOptions,\n InvalidationMode,\n ObserveOptions,\n Observer,\n OrderBy,\n Status,\n} from \"./common.js\";\n\nexport namespace ObserveLinks {\n export interface Options<\n Q extends ObjectTypeDefinition | InterfaceDefinition,\n L extends keyof CompileTimeMetadata<Q>[\"links\"] & string,\n > extends CommonObserveOptions, ObserveOptions {\n srcType: Pick<Q, \"type\" | \"apiName\">;\n pk: PrimaryKeyType<Q>;\n linkName: L;\n where?: WhereClause<CompileTimeMetadata<Q>[\"links\"][L][\"targetType\"]>;\n pageSize?: number;\n orderBy?: OrderBy<CompileTimeMetadata<Q>[\"links\"][L][\"targetType\"]>;\n invalidationMode?: InvalidationMode;\n expectedLength?: number;\n }\n\n export interface CallbackArgs<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n > {\n resolvedList: Osdk.Instance<T>[];\n isOptimistic: boolean;\n lastUpdated: number;\n fetchMore: () => Promise<void>;\n hasMore: boolean;\n status: Status;\n }\n}\n\nexport interface ObserveLinks {\n observeLinks<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n L extends keyof CompileTimeMetadata<T>[\"links\"] & string,\n >(\n objects: Osdk.Instance<T> | ReadonlyArray<Osdk.Instance<T>>,\n linkName: L,\n options: Omit<ObserveLinks.Options<T, L>, \"srcType\" | \"pk\">,\n subFn: Observer<\n ObserveLinks.CallbackArgs<\n CompileTimeMetadata<T>[\"links\"][L][\"targetType\"]\n >\n >,\n ): Unsubscribable;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,WAkCiBA,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","names":[],"sources":["common.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 InterfaceDefinition,\n ObjectTypeDefinition,\n PropertyKeys,\n} from \"@osdk/api\";\n\n/**\n * Represents the current state of an observation.\n *\n * - init: Initial state before any data fetch attempt\n * - loading: Request is in progress\n * - loaded: Data successfully retrieved\n * - error: Request failed\n */\nexport type Status = \"init\" | \"loading\" | \"loaded\" | \"error\";\n\n/**\n * Standard observer pattern interface for reactive data flow.\n *\n * @template T Type of data being observed\n *\n * Callbacks:\n * - next: Called with updated values when data changes\n * - error: Called when an error occurs\n * - complete: Called when observation completes (rarely used)\n */\nexport interface Observer<T> {\n next: (value: T) => void;\n error: (err: any) => void;\n complete: () => void;\n}\n\n/**\n * Common options shared by all observation methods.\n *\n * @property dedupeInterval - Time in milliseconds to deduplicate identical emissions\n * Used to prevent rapid UI updates when multiple changes occur\n */\nexport interface CommonObserveOptions extends ObserveOptions {\n dedupeInterval?: number;\n}\n\n/**\n * Options for object observation.\n *\n * @property mode - Data fetch strategy:\n * - offline: Use only cached data, no network request\n * - force: Always fetch from server, ignore cache\n * - undefined (default): Use cache if available, fetch if missing\n */\nexport interface ObserveOptions {\n mode?: \"offline\" | \"force\";\n}\n\n/**\n * Specifies sort order for collection queries.\n *\n * @template Q Object or interface type whose properties can be sorted\n *\n * Values:\n * - \"asc\": Sort in ascending order\n * - \"desc\": Sort in descending order\n * - undefined: Don't sort by this property\n *\n * Example: `{ name: \"asc\", created: \"desc\" }`\n */\nexport type OrderBy<Q extends ObjectTypeDefinition | InterfaceDefinition> = {\n [K in PropertyKeys<Q>]?: \"asc\" | \"desc\" | undefined;\n};\n\n/**\n * Defines how data should be handled during invalidation.\n *\n * Values:\n * - \"in-place\": Update data without resetting the collection\n * - \"wait\": Wait for the server response before updating\n * - \"reset\": Clear existing data and refetch entirely\n */\nexport type InvalidationMode = \"in-place\" | \"wait\" | \"reset\";\n"],"mappings":"","ignoreList":[]}
|
|
@@ -21,6 +21,26 @@ import { OBSERVABLE_USER_AGENT } from "../util/UserAgent.js";
|
|
|
21
21
|
import { ObservableClientImpl } from "./internal/ObservableClientImpl.js";
|
|
22
22
|
import { Store } from "./internal/Store.js";
|
|
23
23
|
export let ObservableClient;
|
|
24
|
+
// TODO: Rename this from `ObserveObjectArgs` => `ObserveObjectCallbackArgs`. Not doing it now to reduce churn
|
|
25
|
+
// in repo.
|
|
26
|
+
|
|
27
|
+
// TODO: Rename this from `ObserveObjectsArgs` => `ObserveObjectsCallbackArgs`. Not doing it now to reduce churn
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* User facing callback args for `observeLink`
|
|
31
|
+
*/
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Public interface for reactive data management with automatic updates.
|
|
35
|
+
*
|
|
36
|
+
* The ObservableClient provides a reactive data layer with:
|
|
37
|
+
* - Real-time object and collection observation
|
|
38
|
+
* - Automatic cache updates when data changes
|
|
39
|
+
* - Optimistic updates for immediate UI feedback
|
|
40
|
+
* - Pagination support for large collections
|
|
41
|
+
* - Link traversal for relationship navigation
|
|
42
|
+
*/
|
|
43
|
+
|
|
24
44
|
export function createObservableClient(client) {
|
|
25
45
|
// First we need a modified client that adds an extra header so we know its
|
|
26
46
|
// an observable client
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObservableClient.js","names":["createFetchHeaderMutator","additionalContext","createClientFromContext","OBSERVABLE_USER_AGENT","ObservableClientImpl","Store","ObservableClient","createObservableClient","client","tweakedClient","fetch","headers","set","get","filter","x","length","join"],"sources":["ObservableClient.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 ActionDefinition,\n ActionValidationResponse,\n InterfaceDefinition,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n WhereClause,\n} from \"@osdk/api\";\nimport { createFetchHeaderMutator } from \"@osdk/shared.net.fetch\";\nimport type { ActionSignatureFromDef } from \"../actions/applyAction.js\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClientFromContext } from \"../createClient.js\";\nimport { OBSERVABLE_USER_AGENT } from \"../util/UserAgent.js\";\nimport type { Canonical } from \"./internal/Canonical.js\";\nimport { ObservableClientImpl } from \"./internal/ObservableClientImpl.js\";\nimport { Store } from \"./internal/Store.js\";\nimport type {
|
|
1
|
+
{"version":3,"file":"ObservableClient.js","names":["createFetchHeaderMutator","additionalContext","createClientFromContext","OBSERVABLE_USER_AGENT","ObservableClientImpl","Store","ObservableClient","createObservableClient","client","tweakedClient","fetch","headers","set","get","filter","x","length","join"],"sources":["ObservableClient.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 ActionDefinition,\n ActionValidationResponse,\n InterfaceDefinition,\n ObjectTypeDefinition,\n Osdk,\n PrimaryKeyType,\n PropertyKeys,\n WhereClause,\n} from \"@osdk/api\";\nimport { createFetchHeaderMutator } from \"@osdk/shared.net.fetch\";\nimport type { ActionSignatureFromDef } from \"../actions/applyAction.js\";\nimport { additionalContext, type Client } from \"../Client.js\";\nimport { createClientFromContext } from \"../createClient.js\";\nimport { OBSERVABLE_USER_AGENT } from \"../util/UserAgent.js\";\nimport type { Canonical } from \"./internal/Canonical.js\";\nimport { ObservableClientImpl } from \"./internal/ObservableClientImpl.js\";\nimport { Store } from \"./internal/Store.js\";\nimport type {\n CommonObserveOptions,\n InvalidationMode,\n ObserveOptions,\n Observer,\n Status,\n} from \"./ObservableClient/common.js\";\nimport type { ObserveLinks } from \"./ObservableClient/ObserveLink.js\";\nimport type { OptimisticBuilder } from \"./OptimisticBuilder.js\";\n\nexport namespace ObservableClient {\n export interface ApplyActionOptions {\n optimisticUpdate?: (ctx: OptimisticBuilder) => void;\n }\n}\n\nexport interface ObserveObjectOptions<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n> extends ObserveOptions {\n apiName: T[\"apiName\"] | T;\n pk: PrimaryKeyType<T>;\n select?: PropertyKeys<T>[];\n}\n\nexport type OrderBy<Q extends ObjectTypeDefinition | InterfaceDefinition> = {\n [K in PropertyKeys<Q>]?: \"asc\" | \"desc\" | undefined;\n};\n\nexport interface ObserveListOptions<\n Q extends ObjectTypeDefinition | InterfaceDefinition,\n> extends CommonObserveOptions, ObserveOptions {\n type: Pick<Q, \"apiName\" | \"type\">;\n where?: WhereClause<Q>;\n pageSize?: number;\n orderBy?: OrderBy<Q>;\n invalidationMode?: InvalidationMode;\n expectedLength?: number;\n streamUpdates?: boolean;\n}\n\n// TODO: Rename this from `ObserveObjectArgs` => `ObserveObjectCallbackArgs`. Not doing it now to reduce churn\n// in repo.\nexport interface ObserveObjectArgs<T extends ObjectTypeDefinition> {\n object: Osdk.Instance<T> | undefined;\n isOptimistic: boolean;\n status: Status;\n lastUpdated: number;\n}\n\n// TODO: Rename this from `ObserveObjectsArgs` => `ObserveObjectsCallbackArgs`. Not doing it now to reduce churn\nexport interface ObserveObjectsArgs<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n> {\n resolvedList: Array<Osdk.Instance<T>>;\n isOptimistic: boolean;\n lastUpdated: number;\n fetchMore: () => Promise<void>;\n hasMore: boolean;\n status: Status;\n}\n\n/**\n * User facing callback args for `observeLink`\n */\nexport interface ObserveLinkCallbackArgs<\n T extends ObjectTypeDefinition | InterfaceDefinition,\n> {\n resolvedList: Osdk.Instance<T>[];\n isOptimistic: boolean;\n lastUpdated: number;\n fetchMore: () => Promise<void>;\n hasMore: boolean;\n status: Status;\n}\n\n/**\n * Public interface for reactive data management with automatic updates.\n *\n * The ObservableClient provides a reactive data layer with:\n * - Real-time object and collection observation\n * - Automatic cache updates when data changes\n * - Optimistic updates for immediate UI feedback\n * - Pagination support for large collections\n * - Link traversal for relationship navigation\n */\nexport interface ObservableClient extends ObserveLinks {\n /**\n * Observe a single object with automatic updates when it changes.\n *\n * @param apiName - The object type definition or name\n * @param pk - The object's primary key\n * @param options - Observation options including deduplication interval\n * @param subFn - Observer that receives object state updates\n * @returns Subscription that can be unsubscribed to stop updates\n *\n * The observer will receive:\n * - Initial loading state if data not cached\n * - Loaded state with the object data\n * - Updates when the object changes\n * - Error state if fetch fails\n */\n observeObject<T extends ObjectTypeDefinition>(\n apiName: T[\"apiName\"] | T,\n pk: PrimaryKeyType<T>,\n options: ObserveOptions,\n subFn: Observer<ObserveObjectArgs<T>>,\n ): Unsubscribable;\n\n /**\n * Observe a filtered and sorted collection of objects.\n *\n * @param options - Filter, sort, and pagination options\n * @param subFn - Observer that receives collection state updates\n * @returns Subscription that can be unsubscribed to stop updates\n *\n * Supports:\n * - Filtering with where clauses\n * - Sorting with orderBy\n * - Pagination via fetchMore() in the payload\n * - Automatic updates when any matching object changes\n */\n observeList<T extends ObjectTypeDefinition | InterfaceDefinition>(\n options: ObserveListOptions<T>,\n subFn: Observer<ObserveObjectsArgs<T>>,\n ): Unsubscribable;\n\n /**\n * Execute an action with optional optimistic updates.\n *\n * @param action - Action definition to execute\n * @param args - Arguments for the action\n * @param opts - Options including optimistic updates\n * @returns Promise that resolves when the action completes\n *\n * When providing optimistic updates:\n * - Changes appear immediately in the UI\n * - Server request still happens in background\n * - On success, server data replaces optimistic data\n * - On failure, optimistic changes automatically roll back\n */\n applyAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args:\n | Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]\n | Array<Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0]>,\n opts?: ObservableClient.ApplyActionOptions,\n ) => Promise<unknown>;\n\n /**\n * Validate action parameters without executing the action.\n *\n * @param action - Action definition to validate\n * @param args - Arguments to validate\n * @returns Promise with validation result\n *\n * Use this to:\n * - Pre-validate forms before submission\n * - Display warnings or errors in the UI\n * - Enable/disable action buttons based on validity\n */\n validateAction: <Q extends ActionDefinition<any>>(\n action: Q,\n args: Parameters<ActionSignatureFromDef<Q>[\"applyAction\"]>[0],\n ) => Promise<ActionValidationResponse>;\n\n canonicalizeWhereClause: <\n T extends ObjectTypeDefinition | InterfaceDefinition,\n >(\n where: WhereClause<T>,\n ) => Canonical<WhereClause<T>>;\n}\n\nexport function createObservableClient(client: Client): ObservableClient {\n // First we need a modified client that adds an extra header so we know its\n // an observable client\n const tweakedClient = createClientFromContext({\n ...client[additionalContext],\n\n fetch: createFetchHeaderMutator(\n client[additionalContext].fetch,\n (headers) => {\n headers.set(\n \"Fetch-User-Agent\",\n [\n headers.get(\"Fetch-User-Agent\"),\n OBSERVABLE_USER_AGENT,\n ].filter(x => x && x?.length > 0).join(\" \"),\n );\n return headers;\n },\n ),\n });\n\n // Then we use that client instead. Because the `client` does not hold\n // any real state, this whole thing works.\n return new ObservableClientImpl(new Store(tweakedClient));\n}\n\nexport interface Unsubscribable {\n unsubscribe: () => void;\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAYA,SAASA,wBAAwB,QAAQ,wBAAwB;AAEjE,SAASC,iBAAiB,QAAqB,cAAc;AAC7D,SAASC,uBAAuB,QAAQ,oBAAoB;AAC5D,SAASC,qBAAqB,QAAQ,sBAAsB;AAE5D,SAASC,oBAAoB,QAAQ,oCAAoC;AACzE,SAASC,KAAK,QAAQ,qBAAqB;AAAC,WAW3BC,gBAAgB;AA8BjC;AACA;;AAQA;;AAYA;AACA;AACA;;AAYA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAwFA,OAAO,SAASC,sBAAsBA,CAACC,MAAc,EAAoB;EACvE;EACA;EACA,MAAMC,aAAa,GAAGP,uBAAuB,CAAC;IAC5C,GAAGM,MAAM,CAACP,iBAAiB,CAAC;IAE5BS,KAAK,EAAEV,wBAAwB,CAC7BQ,MAAM,CAACP,iBAAiB,CAAC,CAACS,KAAK,EAC9BC,OAAO,IAAK;MACXA,OAAO,CAACC,GAAG,CACT,kBAAkB,EAClB,CACED,OAAO,CAACE,GAAG,CAAC,kBAAkB,CAAC,EAC/BV,qBAAqB,CACtB,CAACW,MAAM,CAACC,CAAC,IAAIA,CAAC,IAAIA,CAAC,EAAEC,MAAM,GAAG,CAAC,CAAC,CAACC,IAAI,CAAC,GAAG,CAC5C,CAAC;MACD,OAAON,OAAO;IAChB,CACF;EACF,CAAC,CAAC;;EAEF;EACA;EACA,OAAO,IAAIP,oBAAoB,CAAC,IAAIC,KAAK,CAACI,aAAa,CAAC,CAAC;AAC3D","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Unsubscribable.js","names":[],"sources":["Unsubscribable.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 interface Unsubscribable {\n unsubscribe: () => void;\n}\n"],"mappings":"","ignoreList":[]}
|