@osdk/client 2.2.0-beta.3 → 2.2.0-beta.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/build/browser/Logger.js.map +1 -1
  3. package/build/browser/observable/ObservableClient.js.map +1 -1
  4. package/build/browser/observable/internal/ActionApplication.js +102 -0
  5. package/build/browser/observable/internal/ActionApplication.js.map +1 -0
  6. package/build/browser/observable/internal/CacheKey.js +38 -1
  7. package/build/browser/observable/internal/CacheKey.js.map +1 -1
  8. package/build/browser/observable/internal/CacheKeys.js +4 -4
  9. package/build/browser/observable/internal/CacheKeys.js.map +1 -1
  10. package/build/browser/observable/internal/ChangedObjects.js +24 -1
  11. package/build/browser/observable/internal/ChangedObjects.js.map +1 -1
  12. package/build/browser/observable/internal/Layer.js +3 -3
  13. package/build/browser/observable/internal/Layer.js.map +1 -1
  14. package/build/browser/observable/internal/ListQuery.js +188 -66
  15. package/build/browser/observable/internal/ListQuery.js.map +1 -1
  16. package/build/browser/observable/internal/ObjectQuery.js +16 -3
  17. package/build/browser/observable/internal/ObjectQuery.js.map +1 -1
  18. package/build/browser/observable/internal/ObservableClientImpl.js +2 -2
  19. package/build/browser/observable/internal/ObservableClientImpl.js.map +1 -1
  20. package/build/browser/observable/internal/OptimisticJob.js +30 -29
  21. package/build/browser/observable/internal/OptimisticJob.js.map +1 -1
  22. package/build/browser/observable/internal/Query.js +42 -2
  23. package/build/browser/observable/internal/Query.js.map +1 -1
  24. package/build/browser/observable/internal/Store.js +259 -126
  25. package/build/browser/observable/internal/Store.js.map +1 -1
  26. package/build/browser/observable/internal/Store.test.js +416 -76
  27. package/build/browser/observable/internal/Store.test.js.map +1 -1
  28. package/build/browser/observable/internal/testUtils.js +142 -6
  29. package/build/browser/observable/internal/testUtils.js.map +1 -1
  30. package/build/browser/util/UserAgent.js +1 -1
  31. package/build/cjs/index.cjs +1 -1
  32. package/build/cjs/public/unstable-do-not-use.cjs +657 -268
  33. package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
  34. package/build/cjs/public/unstable-do-not-use.d.cts +13 -4
  35. package/build/esm/Logger.js.map +1 -1
  36. package/build/esm/observable/ObservableClient.js.map +1 -1
  37. package/build/esm/observable/internal/ActionApplication.js +102 -0
  38. package/build/esm/observable/internal/ActionApplication.js.map +1 -0
  39. package/build/esm/observable/internal/CacheKey.js +38 -1
  40. package/build/esm/observable/internal/CacheKey.js.map +1 -1
  41. package/build/esm/observable/internal/CacheKeys.js +4 -4
  42. package/build/esm/observable/internal/CacheKeys.js.map +1 -1
  43. package/build/esm/observable/internal/ChangedObjects.js +24 -1
  44. package/build/esm/observable/internal/ChangedObjects.js.map +1 -1
  45. package/build/esm/observable/internal/Layer.js +3 -3
  46. package/build/esm/observable/internal/Layer.js.map +1 -1
  47. package/build/esm/observable/internal/ListQuery.js +188 -66
  48. package/build/esm/observable/internal/ListQuery.js.map +1 -1
  49. package/build/esm/observable/internal/ObjectQuery.js +16 -3
  50. package/build/esm/observable/internal/ObjectQuery.js.map +1 -1
  51. package/build/esm/observable/internal/ObservableClientImpl.js +2 -2
  52. package/build/esm/observable/internal/ObservableClientImpl.js.map +1 -1
  53. package/build/esm/observable/internal/OptimisticJob.js +30 -29
  54. package/build/esm/observable/internal/OptimisticJob.js.map +1 -1
  55. package/build/esm/observable/internal/Query.js +42 -2
  56. package/build/esm/observable/internal/Query.js.map +1 -1
  57. package/build/esm/observable/internal/Store.js +259 -126
  58. package/build/esm/observable/internal/Store.js.map +1 -1
  59. package/build/esm/observable/internal/Store.test.js +416 -76
  60. package/build/esm/observable/internal/Store.test.js.map +1 -1
  61. package/build/esm/observable/internal/testUtils.js +142 -6
  62. package/build/esm/observable/internal/testUtils.js.map +1 -1
  63. package/build/esm/util/UserAgent.js +1 -1
  64. package/build/types/Logger.d.ts +1 -2
  65. package/build/types/Logger.d.ts.map +1 -1
  66. package/build/types/observable/ObservableClient.d.ts +10 -3
  67. package/build/types/observable/ObservableClient.d.ts.map +1 -1
  68. package/build/types/observable/internal/ActionApplication.d.ts +9 -0
  69. package/build/types/observable/internal/ActionApplication.d.ts.map +1 -0
  70. package/build/types/observable/internal/CacheKeys.d.ts +2 -1
  71. package/build/types/observable/internal/CacheKeys.d.ts.map +1 -1
  72. package/build/types/observable/internal/ChangedObjects.d.ts +6 -2
  73. package/build/types/observable/internal/ChangedObjects.d.ts.map +1 -1
  74. package/build/types/observable/internal/Layer.d.ts +1 -1
  75. package/build/types/observable/internal/Layer.d.ts.map +1 -1
  76. package/build/types/observable/internal/ListQuery.d.ts +18 -17
  77. package/build/types/observable/internal/ListQuery.d.ts.map +1 -1
  78. package/build/types/observable/internal/ObjectQuery.d.ts +3 -3
  79. package/build/types/observable/internal/ObjectQuery.d.ts.map +1 -1
  80. package/build/types/observable/internal/OptimisticJob.d.ts +2 -2
  81. package/build/types/observable/internal/OptimisticJob.d.ts.map +1 -1
  82. package/build/types/observable/internal/Query.d.ts +6 -5
  83. package/build/types/observable/internal/Query.d.ts.map +1 -1
  84. package/build/types/observable/internal/Store.d.ts +47 -19
  85. package/build/types/observable/internal/Store.d.ts.map +1 -1
  86. package/build/types/observable/internal/testUtils.d.ts +13 -3
  87. package/build/types/observable/internal/testUtils.d.ts.map +1 -1
  88. package/package.json +8 -7
@@ -1 +1 @@
1
- {"version":3,"file":"testUtils.js","names":["pDefer","afterEach","beforeEach","expect","vi","vitest","createClientMockHelper","client","fn","mockApplyActionOnce","d","mockReturnValueOnce","applyAction","x","promise","type","addedLinks","addedObjects","deletedLinksCount","deletedObjectsCount","editedObjectTypes","modifiedObjects","mockFetchOneOnce","fetchOne","a","r","$primaryKey","createDefer","subscriptions","s","unsubscribe","push","expectSingleListCallAndClear","subFn","resolvedList","isFakeTimers","runOnlyPendingTimers","toHaveBeenCalledExactlyOnceWith","objectContaining","mockClear","expectSingleObjectCallAndClear","object","status","any","String","waitForCall","times","waitFor","toHaveBeenCalledTimes","createSubscriptionHelper","mockSingleSubCallback","ret","Object","assign","expectLoadingAndLoaded","q","toHaveBeenNthCalledWith","loading","loaded","mockListSubCallback","cacheEntryContaining","cacheKey","value","toBeOneOf","anything","undefined","lastUpdated","nonOptionalValue","src","key","objectPayloadContaining","isOptimistic","Boolean","listPayloadContaining","fetchMore","Function","hasMore","applyCustomMatchers","extend","toBeGreaterThan","e","pass","message"],"sources":["testUtils.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 ActionEditResponse,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n OsdkBase,\n} from \"@osdk/api\";\nimport type { DeferredPromise } from \"p-defer\";\nimport pDefer from \"p-defer\";\nimport type { Mock } from \"vitest\";\nimport { afterEach, beforeEach, expect, vi, vitest } from \"vitest\";\nimport type { ActionSignatureFromDef } from \"../../actions/applyAction.js\";\nimport type { Client } from \"../../Client.js\";\nimport type { ListPayload } from \"../ListPayload.js\";\nimport type { ObjectPayload } from \"../ObjectPayload.js\";\nimport type { Status, Unsubscribable } from \"../ObservableClient.js\";\nimport type { Entry } from \"./Layer.js\";\n\nexport interface MockClientHelper {\n client: Mock<Client> & Client;\n\n mockApplyActionOnce: () => DeferredPromise<Partial<ActionEditResponse>>;\n\n mockFetchOneOnce: <Q extends ObjectTypeDefinition>() => DeferredPromise<\n Partial<\n Osdk.Instance<Q>\n >\n >;\n}\n\nexport function createClientMockHelper(): MockClientHelper {\n const client = vitest.fn<typeof client>() as unknown as Mock<Client> & Client;\n\n function mockFetchOneOnce<\n X extends Partial<OsdkBase<any>>,\n >(): DeferredPromise<X> {\n const d = pDefer<X>();\n\n client.mockReturnValueOnce(\n {\n fetchOne: async (a) => {\n const r = await d.promise;\n return { ...r, $primaryKey: a };\n },\n } as Pick<ObjectSet<ObjectTypeDefinition>, \"fetchOne\">,\n );\n return d;\n }\n\n function mockApplyActionOnce(): DeferredPromise<\n Partial<ActionEditResponse>\n > {\n const d = pDefer<Partial<ActionEditResponse>>();\n\n client.mockReturnValueOnce(\n {\n applyAction: async (_args): Promise<ActionEditResponse> => {\n const x = await d.promise;\n return {\n type: \"edits\",\n addedLinks: x.addedLinks ?? [],\n addedObjects: x.addedObjects ?? [],\n deletedLinksCount: x.deletedLinksCount ?? 0,\n deletedObjectsCount: x.deletedObjectsCount ?? 0,\n editedObjectTypes: x.editedObjectTypes ?? [],\n modifiedObjects: x.modifiedObjects ?? [],\n };\n },\n } as Pick<\n ActionSignatureFromDef<ActionDefinition>,\n \"applyAction\"\n >,\n );\n return d;\n }\n\n return {\n client,\n mockApplyActionOnce,\n mockFetchOneOnce,\n };\n}\n\nexport function createDefer() {\n let subscriptions: Unsubscribable[];\n\n beforeEach(() => {\n subscriptions = [];\n });\n\n afterEach(() => {\n for (const s of subscriptions) {\n s.unsubscribe();\n }\n subscriptions = [];\n });\n\n return function defer(x: Unsubscribable): Unsubscribable {\n subscriptions.push(x);\n return x;\n };\n}\n\nexport function expectSingleListCallAndClear<T extends ObjectTypeDefinition>(\n subFn: Mock<(e: ListPayload | undefined) => void>,\n resolvedList: Osdk.Instance<T>[],\n): void {\n if (vitest.isFakeTimers()) {\n vitest.runOnlyPendingTimers();\n }\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n expect.objectContaining({\n resolvedList,\n }),\n );\n subFn.mockClear();\n}\n\nexport function expectSingleObjectCallAndClear<T extends ObjectTypeDefinition>(\n subFn: Mock<(e: ObjectPayload | undefined) => void>,\n object: Osdk.Instance<T>,\n status?: Status,\n): void {\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n expect.objectContaining({\n object,\n status: status ?? expect.any(String),\n }),\n );\n subFn.mockClear();\n}\n\nexport async function waitForCall(\n subFn: Mock<(e: any) => void>,\n times: number = 1,\n): Promise<void> {\n await vi.waitFor(() => {\n expect(subFn).toHaveBeenCalledTimes(times);\n });\n expect(subFn).toHaveBeenCalledTimes(times);\n}\n\nfunction createSubscriptionHelper() {\n}\n\nexport function mockSingleSubCallback():\n & Mock<\n (e: ObjectPayload | undefined) => void\n >\n & {\n // expectLoaded: (value: unknown) => Promise<void>;\n // expectLoading: (value: unknown) => Promise<void>;\n expectLoadingAndLoaded: (q: {\n loading?: unknown;\n loaded: unknown;\n }) => Promise<void>;\n }\n{\n const ret = vitest.fn((e: ObjectPayload | undefined) => {});\n\n // async function expectLoaded(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenLastCalledWith(\n // cacheEntryContaining({\n // value,\n // status: \"loaded\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n // async function expectLoading(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenCalledExactlyOnceWith(\n // cacheEntryContaining({\n // value,\n // status: \"loading\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n return Object.assign(ret, {\n // expectLoaded,\n // expectLoading,\n expectLoadingAndLoaded: async (\n q: { loading?: unknown; loaded: unknown },\n ) => {\n await waitForCall(ret, 2);\n\n // as long as we get the loaded call we are happy\n expect(ret).toHaveBeenNthCalledWith(\n 1,\n q.loading,\n );\n expect(ret).toHaveBeenNthCalledWith(\n 2,\n q.loaded,\n );\n expect(ret).toHaveBeenCalledTimes(2);\n ret.mockClear();\n },\n });\n}\n\nexport function mockListSubCallback(): Mock<\n (x: ListPayload | undefined) => void\n> {\n return vitest.fn(\n (x: ListPayload | undefined) => {},\n );\n}\n\nexport function cacheEntryContaining(x: Partial<Entry<any>>): Entry<any> {\n return {\n cacheKey: x.cacheKey ?? expect.any(Object),\n value: \"value\" in x\n ? x.value\n : expect.toBeOneOf([expect.anything(), undefined]),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nfunction nonOptionalValue<T extends object, K extends keyof T>(\n src: T,\n key: K,\n): NonNullable<T[K]> {\n return key in src\n ? src[key]\n : expect.toBeOneOf([expect.anything(), undefined]);\n}\n\nexport function objectPayloadContaining(\n x: Partial<ObjectPayload>,\n): ObjectPayload {\n return {\n object: nonOptionalValue(x, \"object\"),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function listPayloadContaining(\n x: Partial<ListPayload>,\n): ListPayload {\n return {\n fetchMore: x.fetchMore ?? expect.any(Function),\n hasMore: x.hasMore ?? expect.any(Boolean),\n resolvedList: x.resolvedList ?? expect.anything(),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function applyCustomMatchers(): void {\n expect.extend({\n toBeGreaterThan: (r: number, e: number) => {\n return {\n pass: r > e,\n message: () => `expected ${r} to be greater than ${e} (lastUpdated)`,\n };\n },\n });\n}\n\ninterface CustomMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ninterface CustomAsymmetricMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ndeclare module \"vitest\" {\n interface Assertion<T = any> extends CustomMatchers<T> {}\n interface AsymmetricMatchersContaining extends CustomAsymmetricMatchers {}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAWA,OAAOA,MAAM,MAAM,SAAS;AAE5B,SAASC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,EAAE,EAAEC,MAAM,QAAQ,QAAQ;AAoBlE,OAAO,SAASC,sBAAsBA,CAAA,EAAqB;EACzD,MAAMC,MAAM,GAAGF,MAAM,CAACG,EAAE,CAAgB,CAAqC;EA6C7E,OAAO;IACLD,MAAM;IACNE,mBAAmB,EA7BrB,SAAAA,CAAA,EAEE;MACA,MAAMC,CAAC,GAAGV,MAAM,CAA8B,CAAC;MAE/CO,MAAM,CAACI,mBAAmB,CACxB;QACEC,WAAW,EAAE,MAAAA,CAAA,KAA8C;UACzD,MAAMC,CAAC,GAAG,MAAMH,CAAC,CAACI,OAAO;UACzB,OAAO;YACLC,IAAI,EAAE,OAAO;YACbC,UAAU,EAAEH,CAAC,CAACG,UAAU,IAAI,EAAE;YAC9BC,YAAY,EAAEJ,CAAC,CAACI,YAAY,IAAI,EAAE;YAClCC,iBAAiB,EAAEL,CAAC,CAACK,iBAAiB,IAAI,CAAC;YAC3CC,mBAAmB,EAAEN,CAAC,CAACM,mBAAmB,IAAI,CAAC;YAC/CC,iBAAiB,EAAEP,CAAC,CAACO,iBAAiB,IAAI,EAAE;YAC5CC,eAAe,EAAER,CAAC,CAACQ,eAAe,IAAI;UACxC,CAAC;QACH;MACF,CAIF,CAAC;MACD,OAAOX,CAAC;IACV,CAIqB;IACnBY,gBAAgB,EA9ClB,SAAAA,CAAA,EAEwB;MACtB,MAAMZ,CAAC,GAAGV,MAAM,CAAI,CAAC;MAErBO,MAAM,CAACI,mBAAmB,CACxB;QACEY,QAAQ,EAAE,MAAOC,CAAC,IAAK;UACrB,MAAMC,CAAC,GAAG,MAAMf,CAAC,CAACI,OAAO;UACzB,OAAO;YAAE,GAAGW,CAAC;YAAEC,WAAW,EAAEF;UAAE,CAAC;QACjC;MACF,CACF,CAAC;MACD,OAAOd,CAAC;IACV;EAiCA,CAAC;AACH;AAEA,OAAO,SAASiB,WAAWA,CAAA,EAAG;EAC5B,IAAIC,aAA+B;EAEnC1B,UAAU,CAAC,MAAM;IACf0B,aAAa,GAAG,EAAE;EACpB,CAAC,CAAC;EAEF3B,SAAS,CAAC,MAAM;IACd,KAAK,MAAM4B,CAAC,IAAID,aAAa,EAAE;MAC7BC,CAAC,CAACC,WAAW,CAAC,CAAC;IACjB;IACAF,aAAa,GAAG,EAAE;EACpB,CAAC,CAAC;EAEF,OAAO,UAAef,CAAiB,EAAkB;IACvDe,aAAa,CAACG,IAAI,CAAClB,CAAC,CAAC;IACrB,OAAOA,CAAC;EACV,CAAC;AACH;AAEA,OAAO,SAASmB,4BAA4BA,CAC1CC,KAAiD,EACjDC,YAAgC,EAC1B;EACN,IAAI7B,MAAM,CAAC8B,YAAY,CAAC,CAAC,EAAE;IACzB9B,MAAM,CAAC+B,oBAAoB,CAAC,CAAC;EAC/B;EACAjC,MAAM,CAAC8B,KAAK,CAAC,CAACI,+BAA+B,CAC3ClC,MAAM,CAACmC,gBAAgB,CAAC;IACtBJ;EACF,CAAC,CACH,CAAC;EACDD,KAAK,CAACM,SAAS,CAAC,CAAC;AACnB;AAEA,OAAO,SAASC,8BAA8BA,CAC5CP,KAAmD,EACnDQ,MAAwB,EACxBC,MAAe,EACT;EACNvC,MAAM,CAAC8B,KAAK,CAAC,CAACI,+BAA+B,CAC3ClC,MAAM,CAACmC,gBAAgB,CAAC;IACtBG,MAAM;IACNC,MAAM,EAAEA,MAAM,IAAIvC,MAAM,CAACwC,GAAG,CAACC,MAAM;EACrC,CAAC,CACH,CAAC;EACDX,KAAK,CAACM,SAAS,CAAC,CAAC;AACnB;AAEA,OAAO,eAAeM,WAAWA,CAC/BZ,KAA6B,EAC7Ba,KAAa,GAAG,CAAC,EACF;EACf,MAAM1C,EAAE,CAAC2C,OAAO,CAAC,MAAM;IACrB5C,MAAM,CAAC8B,KAAK,CAAC,CAACe,qBAAqB,CAACF,KAAK,CAAC;EAC5C,CAAC,CAAC;EACF3C,MAAM,CAAC8B,KAAK,CAAC,CAACe,qBAAqB,CAACF,KAAK,CAAC;AAC5C;AAEA,SAASG,wBAAwBA,CAAA,EAAG,CACpC;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAYrC;EACE,MAAMC,GAAG,GAAG9C,MAAM,CAACG,EAAE,CAAC,MAAkC,CAAC,CAAC,CAAC;;EAE3D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,OAAO4C,MAAM,CAACC,MAAM,CAACF,GAAG,EAAE;IACxB;IACA;IACAG,sBAAsB,EAAE,MACtBC,CAAyC,IACtC;MACH,MAAMV,WAAW,CAACM,GAAG,EAAE,CAAC,CAAC;;MAEzB;MACAhD,MAAM,CAACgD,GAAG,CAAC,CAACK,uBAAuB,CACjC,CAAC,EACDD,CAAC,CAACE,OACJ,CAAC;MACDtD,MAAM,CAACgD,GAAG,CAAC,CAACK,uBAAuB,CACjC,CAAC,EACDD,CAAC,CAACG,MACJ,CAAC;MACDvD,MAAM,CAACgD,GAAG,CAAC,CAACH,qBAAqB,CAAC,CAAC,CAAC;MACpCG,GAAG,CAACZ,SAAS,CAAC,CAAC;IACjB;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASoB,mBAAmBA,CAAA,EAEjC;EACA,OAAOtD,MAAM,CAACG,EAAE,CACd,MAAgC,CAAC,CACnC,CAAC;AACH;AAEA,OAAO,SAASoD,oBAAoBA,CAAC/C,CAAsB,EAAc;EACvE,OAAO;IACLgD,QAAQ,EAAEhD,CAAC,CAACgD,QAAQ,IAAI1D,MAAM,CAACwC,GAAG,CAACS,MAAM,CAAC;IAC1CU,KAAK,EAAE,OAAO,IAAIjD,CAAC,GACfA,CAAC,CAACiD,KAAK,GACP3D,MAAM,CAAC4D,SAAS,CAAC,CAAC5D,MAAM,CAAC6D,QAAQ,CAAC,CAAC,EAAEC,SAAS,CAAC,CAAC;IACpDvB,MAAM,EAAE7B,CAAC,CAAC6B,MAAM,IAAIvC,MAAM,CAAC6D,QAAQ,CAAC,CAAC;IACrCE,WAAW,EAAErD,CAAC,CAACqD,WAAW,IAAI/D,MAAM,CAAC6D,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,SAASG,gBAAgBA,CACvBC,GAAM,EACNC,GAAM,EACa;EACnB,OAAOA,GAAG,IAAID,GAAG,GACbA,GAAG,CAACC,GAAG,CAAC,GACRlE,MAAM,CAAC4D,SAAS,CAAC,CAAC5D,MAAM,CAAC6D,QAAQ,CAAC,CAAC,EAAEC,SAAS,CAAC,CAAC;AACtD;AAEA,OAAO,SAASK,uBAAuBA,CACrCzD,CAAyB,EACV;EACf,OAAO;IACL4B,MAAM,EAAE0B,gBAAgB,CAACtD,CAAC,EAAE,QAAQ,CAAC;IACrC0D,YAAY,EAAEpE,MAAM,CAACwC,GAAG,CAAC6B,OAAO,CAAC;IACjC9B,MAAM,EAAE7B,CAAC,CAAC6B,MAAM,IAAIvC,MAAM,CAAC6D,QAAQ,CAAC,CAAC;IACrCE,WAAW,EAAErD,CAAC,CAACqD,WAAW,IAAI/D,MAAM,CAAC6D,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASS,qBAAqBA,CACnC5D,CAAuB,EACV;EACb,OAAO;IACL6D,SAAS,EAAE7D,CAAC,CAAC6D,SAAS,IAAIvE,MAAM,CAACwC,GAAG,CAACgC,QAAQ,CAAC;IAC9CC,OAAO,EAAE/D,CAAC,CAAC+D,OAAO,IAAIzE,MAAM,CAACwC,GAAG,CAAC6B,OAAO,CAAC;IACzCtC,YAAY,EAAErB,CAAC,CAACqB,YAAY,IAAI/B,MAAM,CAAC6D,QAAQ,CAAC,CAAC;IACjDO,YAAY,EAAEpE,MAAM,CAACwC,GAAG,CAAC6B,OAAO,CAAC;IACjC9B,MAAM,EAAE7B,CAAC,CAAC6B,MAAM,IAAIvC,MAAM,CAAC6D,QAAQ,CAAC,CAAC;IACrCE,WAAW,EAAErD,CAAC,CAACqD,WAAW,IAAI/D,MAAM,CAAC6D,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASa,mBAAmBA,CAAA,EAAS;EAC1C1E,MAAM,CAAC2E,MAAM,CAAC;IACZC,eAAe,EAAEA,CAACtD,CAAS,EAAEuD,CAAS,KAAK;MACzC,OAAO;QACLC,IAAI,EAAExD,CAAC,GAAGuD,CAAC;QACXE,OAAO,EAAEA,CAAA,KAAM,YAAYzD,CAAC,uBAAuBuD,CAAC;MACtD,CAAC;IACH;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
1
+ {"version":3,"file":"testUtils.js","names":["Chalk","pDefer","invariant","afterEach","beforeEach","expect","vi","vitest","additionalContext","chalk","mockLog","args","console","log","yellow","createTestLogger","bindings","options","colors","debug","cyan","bgCyan","info","green","bgGreen","trace","gray","bgGray","error","red","bgRed","warn","bgYellow","fatal","redBright","bgRedBright","createLogMethod","name","fn","hasData","obj","more","slice","msgPrefix","methodName","magenta","Object","keys","length","child","theseBindings","theseOptions","level","undefined","isLevelEnabled","createClientMockHelper","client","logger","mockImplementation","localLogger","Error","e","where","deadObjectSet","whereArgs","fetchPage","fetchArgs","fetchOne","baseUrl","ontologyRid","objectFactory","objectFactory2","ontologyProvider","getActionDefinition","getInterfaceDefinition","getObjectDefinition","getQueryDefinition","tokenProvider","objectSetFactory","fetch","clientCacheKey","requestContext","mockApplyActionOnce","d","mockReturnValueOnce","applyAction","x","promise","type","addedLinks","addedObjects","deletedLinksCount","deletedObjectsCount","editedObjectTypes","modifiedObjects","mockFetchOneOnce","expectedId","a","process","env","NODE_ENV","r","$primaryKey","mockObjectFactory2Once","mocked","mockFetchPageOnce","objectSet","fetchPageArgs","clause","createDefer","subscriptions","s","unsubscribe","push","expectSingleListCallAndClear","subFn","resolvedList","payloadOptions","isFakeTimers","runOnlyPendingTimers","toHaveBeenCalledExactlyOnceWith","listPayloadContaining","mockClear","expectSingleObjectCallAndClear","object","status","objectContaining","any","String","waitForCall","times","waitFor","toHaveBeenCalledTimes","createSubscriptionHelper","mockSingleSubCallback","ret","assign","expectLoadingAndLoaded","q","toHaveBeenNthCalledWith","loading","loaded","mockListSubCallback","cacheEntryContaining","cacheKey","value","toBeOneOf","anything","lastUpdated","nonOptionalValue","src","key","objectPayloadContaining","isOptimistic","Boolean","fetchMore","Function","hasMore","applyCustomMatchers","extend","toBeGreaterThan","pass","message"],"sources":["testUtils.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 ActionEditResponse,\n ObjectOrInterfaceDefinition,\n ObjectSet,\n ObjectTypeDefinition,\n Osdk,\n OsdkBase,\n PageResult,\n WhereClause,\n} from \"@osdk/api\";\nimport { Chalk } from \"chalk\";\nimport type { DeferredPromise } from \"p-defer\";\nimport pDefer from \"p-defer\";\nimport invariant from \"tiny-invariant\";\nimport type { Mock } from \"vitest\";\nimport { afterEach, beforeEach, expect, vi, vitest } from \"vitest\";\nimport type { ActionSignatureFromDef } from \"../../actions/applyAction.js\";\nimport type { Client } from \"../../Client.js\";\nimport { additionalContext } from \"../../Client.js\";\nimport type { LogFn, Logger } from \"../../Logger.js\";\nimport type { ListPayload } from \"../ListPayload.js\";\nimport type { ObjectPayload } from \"../ObjectPayload.js\";\nimport type { Status, Unsubscribable } from \"../ObservableClient.js\";\nimport type { Entry } from \"./Layer.js\";\n\nconst chalk = new Chalk(); // new Chalk({ level: 3 });\n\nexport interface MockClientHelper {\n client: Mock<Client> & Client;\n\n mockApplyActionOnce: () => DeferredPromise<Partial<ActionEditResponse>>;\n\n mockFetchOneOnce: <Q extends ObjectTypeDefinition>(\n expectedId?: string | number | boolean,\n ) => DeferredPromise<\n Partial<\n Osdk.Instance<Q>\n >\n >;\n\n mockObjectFactory2Once: () => DeferredPromise<\n Osdk.Instance<ObjectOrInterfaceDefinition, never, any, {}>[]\n >;\n\n mockFetchPageOnce: <\n Q extends ObjectTypeDefinition,\n >(\n expected?: {\n where: WhereClause<any>;\n orderBy: Record<string, \"asc\" | \"desc\" | undefined>;\n },\n ) => DeferredPromise<\n PageResult<Partial<Osdk.Instance<Q>>>\n >;\n}\n\nfunction mockLog(...args: any[]) {\n // eslint-disable-next-line no-console\n console.log(\n chalk.yellow(\"mockClient\"),\n ...args,\n );\n}\n// interface LogFn {\n// (obj: unknown, msg?: string, ...args: any[]): void;\n// (msg: string, ...args: any[]): void;\n// }\n\nexport function createTestLogger(\n bindings: Record<string, any>,\n options?: { level?: string; msgPrefix?: string },\n): Logger {\n const colors = {\n debug: [chalk.cyan, chalk.bgCyan],\n info: [chalk.green, chalk.bgGreen],\n trace: [chalk.gray, chalk.bgGray],\n error: [chalk.red, chalk.bgRed],\n warn: [chalk.yellow, chalk.bgYellow],\n fatal: [chalk.redBright, chalk.bgRedBright],\n } as const;\n function createLogMethod(\n name: \"debug\" | \"error\" | \"info\" | \"warn\" | \"fatal\" | \"trace\",\n ) {\n return vi.fn<LogFn>(\n (\n ...args: [\n obj: unknown,\n ...args1: any[],\n ] | [\n ...args2: any[],\n ]\n ) => {\n const hasData = typeof args[0] !== \"string\";\n const obj: Record<string, unknown> = hasData ? args[0] as any : {};\n const more: any[] = hasData ? args.slice(1) : args.slice(0);\n\n // eslint-disable-next-line no-console\n console.log(\n `${colors[name][1](name)}${\n options?.msgPrefix ? \" \" + colors[name][0](options.msgPrefix) : \"\"\n }${obj.methodName ? ` .${chalk.magenta(obj.methodName)}()` : \"\"}`,\n ...more,\n );\n if (bindings && Object.keys(bindings).length > 0) {\n // eslint-disable-next-line no-console\n console.log(bindings);\n }\n },\n ) as LogFn;\n }\n return {\n debug: createLogMethod(\"debug\"),\n error: createLogMethod(\"error\"),\n info: createLogMethod(\"info\"),\n warn: createLogMethod(\"warn\"),\n fatal: createLogMethod(\"fatal\"),\n child: vi.fn<Logger[\"child\"]>((theseBindings, theseOptions) =>\n createTestLogger({\n ...bindings,\n ...theseBindings,\n }, {\n level: (theseOptions ?? options)?.level,\n msgPrefix: options?.msgPrefix || theseOptions?.msgPrefix\n ? `${options?.msgPrefix ? `${options.msgPrefix} ` : \"\"}${\n theseOptions?.msgPrefix || \"\"\n }`\n : undefined,\n })\n ),\n trace: createLogMethod(\"trace\"),\n isLevelEnabled: vi.fn((args) => true),\n };\n}\n\nexport function createClientMockHelper(): MockClientHelper {\n const client = vitest.fn<typeof client>() as unknown as Mock<Client> & Client;\n\n const logger = createTestLogger({});\n\n // this is just a fallback for when there is nothing set so we can track whats up\n client.mockImplementation((...args: any[]) => {\n const localLogger = logger.child({}, { msgPrefix: \"fallback mock client\" });\n try {\n throw new Error(\"IN THE FALLBACK MOCK CLIENT IMPLEMENTATION\");\n } catch (e) {\n localLogger.error(\"Just for the stack trace\", e);\n }\n\n let where;\n const deadObjectSet = {\n where: (...whereArgs: any[]) => {\n localLogger.trace(\"where\", whereArgs);\n where = whereArgs;\n return deadObjectSet;\n },\n fetchPage: (...fetchArgs: any[]) => {\n localLogger.trace(\"etchPage\", where!, fetchArgs);\n throw new Error(\"NO\");\n },\n fetchOne: (...fetchArgs: any[]) => {\n localLogger.trace(\"fetchOne\", fetchArgs);\n\n throw new Error(\"NO\");\n },\n };\n return deadObjectSet;\n });\n\n client[additionalContext] = {\n baseUrl: \"http://localhost:8080\",\n ontologyRid: \"ri.something\",\n objectFactory: vitest.fn(),\n objectFactory2: vitest.fn(),\n ontologyProvider: {\n getActionDefinition: vitest.fn(),\n getInterfaceDefinition: vitest.fn(),\n getObjectDefinition: vitest.fn(),\n getQueryDefinition: vitest.fn(),\n },\n tokenProvider: vitest.fn(),\n objectSetFactory: vitest.fn(),\n fetch: vitest.fn(),\n clientCacheKey: {} as any,\n requestContext: {},\n logger,\n };\n\n function mockObjectFactory2Once() {\n const d = pDefer<\n Osdk.Instance<ObjectOrInterfaceDefinition, never, any, {}>[]\n >();\n vi.mocked(client[additionalContext].objectFactory2).mockReturnValueOnce(\n d.promise,\n );\n return d;\n }\n\n function mockFetchPageOnce<\n X extends PageResult<\n Osdk.Instance<ObjectTypeDefinition>\n >,\n >(): DeferredPromise<X> {\n const d = pDefer<X>();\n\n const objectSet: ObjectSet<ObjectTypeDefinition> = {\n fetchPage: async (fetchPageArgs) => {\n mockLog(\"fetchPage\", fetchPageArgs);\n const r = await d.promise;\n return { ...r, $primaryKey: fetchPageArgs };\n },\n where: (clause) => {\n mockLog(\"where\", clause);\n return objectSet;\n },\n } as Pick<\n ObjectSet<ObjectTypeDefinition>,\n \"fetchPage\" | \"where\"\n > as ObjectSet<ObjectTypeDefinition>;\n\n client.mockReturnValueOnce(objectSet);\n return d;\n }\n\n function mockFetchOneOnce<\n X extends Partial<OsdkBase<any>>,\n >(expectedId?: string | number | boolean): DeferredPromise<X> {\n const d = pDefer<X>();\n\n client.mockReturnValueOnce(\n {\n fetchOne: async (a) => {\n mockLog(\"fetchOne\", a);\n invariant(\n expectedId === undefined || a === expectedId,\n \"expected id to match\",\n );\n const r = await d.promise;\n return { ...r, $primaryKey: a };\n },\n } as Pick<ObjectSet<ObjectTypeDefinition>, \"fetchOne\">,\n );\n return d;\n }\n\n function mockApplyActionOnce(): DeferredPromise<\n Partial<ActionEditResponse>\n > {\n const d = pDefer<Partial<ActionEditResponse>>();\n\n client.mockReturnValueOnce(\n {\n applyAction: async (_args): Promise<ActionEditResponse> => {\n const x = await d.promise;\n return {\n type: \"edits\",\n addedLinks: x.addedLinks ?? [],\n addedObjects: x.addedObjects ?? [],\n deletedLinksCount: x.deletedLinksCount ?? 0,\n deletedObjectsCount: x.deletedObjectsCount ?? 0,\n editedObjectTypes: x.editedObjectTypes ?? [],\n modifiedObjects: x.modifiedObjects ?? [],\n };\n },\n } as Pick<\n ActionSignatureFromDef<ActionDefinition>,\n \"applyAction\"\n >,\n );\n return d;\n }\n\n return {\n client,\n mockApplyActionOnce,\n mockFetchOneOnce,\n mockObjectFactory2Once,\n mockFetchPageOnce,\n };\n}\n\nexport function createDefer() {\n let subscriptions: Unsubscribable[];\n\n beforeEach(() => {\n subscriptions = [];\n });\n\n afterEach(() => {\n for (const s of subscriptions) {\n s.unsubscribe();\n }\n subscriptions = [];\n });\n\n return function defer(x: Unsubscribable): Unsubscribable {\n subscriptions.push(x);\n return x;\n };\n}\n\nexport function expectSingleListCallAndClear<T extends ObjectTypeDefinition>(\n subFn: Mock<(e: ListPayload | undefined) => void>,\n resolvedList: Osdk.Instance<T>[],\n payloadOptions: Omit<Partial<ListPayload>, \"resolvedList\"> = {},\n): void {\n if (vitest.isFakeTimers()) {\n vitest.runOnlyPendingTimers();\n }\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n listPayloadContaining({\n ...payloadOptions,\n resolvedList,\n }),\n );\n subFn.mockClear();\n}\n\nexport function expectSingleObjectCallAndClear<T extends ObjectTypeDefinition>(\n subFn: Mock<(e: ObjectPayload | undefined) => void>,\n object: Osdk.Instance<T>,\n status?: Status,\n): void {\n expect(subFn).toHaveBeenCalledExactlyOnceWith(\n expect.objectContaining({\n object,\n status: status ?? expect.any(String),\n }),\n );\n subFn.mockClear();\n}\n\nexport async function waitForCall(\n subFn: Mock<(e: any) => void>,\n times: number = 1,\n): Promise<void> {\n try {\n await vi.waitFor(() => {\n expect(subFn).toHaveBeenCalledTimes(times);\n });\n } catch (e) {\n // we don't need the error, it will retrigger on the next line\n // and that provides better behavior in the vitest vscode\n // plugin. This places the error in the test itself instead of\n // only in this file\n }\n expect(subFn).toHaveBeenCalledTimes(times);\n}\n\nfunction createSubscriptionHelper() {\n}\n\nexport function mockSingleSubCallback():\n & Mock<\n (e: ObjectPayload | undefined) => void\n >\n & {\n // expectLoaded: (value: unknown) => Promise<void>;\n // expectLoading: (value: unknown) => Promise<void>;\n expectLoadingAndLoaded: (q: {\n loading?: unknown;\n loaded: unknown;\n }) => Promise<void>;\n }\n{\n const ret = vitest.fn((e: ObjectPayload | undefined) => {});\n\n // async function expectLoaded(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenLastCalledWith(\n // cacheEntryContaining({\n // value,\n // status: \"loaded\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n // async function expectLoading(value: unknown) {\n // await waitForCall(ret);\n // // as long as we get the loaded call we are happy\n // expect(ret).toHaveBeenCalledExactlyOnceWith(\n // cacheEntryContaining({\n // value,\n // status: \"loading\",\n // }),\n // );\n // ret.mockClear();\n // }\n\n return Object.assign(ret, {\n // expectLoaded,\n // expectLoading,\n expectLoadingAndLoaded: async (\n q: { loading?: unknown; loaded: unknown },\n ) => {\n await waitForCall(ret, 2);\n\n // as long as we get the loaded call we are happy\n expect(ret).toHaveBeenNthCalledWith(\n 1,\n q.loading,\n );\n expect(ret).toHaveBeenNthCalledWith(\n 2,\n q.loaded,\n );\n expect(ret).toHaveBeenCalledTimes(2);\n ret.mockClear();\n },\n });\n}\n\nexport function mockListSubCallback(): Mock<\n (x: ListPayload | undefined) => void\n> {\n return vitest.fn(\n (x: ListPayload | undefined) => {},\n );\n}\n\nexport function cacheEntryContaining(x: Partial<Entry<any>>): Entry<any> {\n return {\n cacheKey: x.cacheKey ?? expect.any(Object),\n value: \"value\" in x\n ? x.value\n : expect.toBeOneOf([expect.anything(), undefined]),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nfunction nonOptionalValue<T extends object, K extends keyof T>(\n src: T,\n key: K,\n): NonNullable<T[K]> {\n return key in src\n ? src[key]\n : expect.toBeOneOf([expect.anything(), undefined]);\n}\n\nexport function objectPayloadContaining(\n x: Partial<ObjectPayload>,\n): ObjectPayload {\n return {\n object: nonOptionalValue(x, \"object\"),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function listPayloadContaining(\n x: Partial<ListPayload>,\n): ListPayload {\n return {\n fetchMore: x.fetchMore ?? expect.any(Function),\n hasMore: x.hasMore ?? expect.any(Boolean),\n resolvedList: x.resolvedList ?? expect.anything(),\n isOptimistic: expect.any(Boolean),\n status: x.status ?? expect.anything(),\n lastUpdated: x.lastUpdated ?? expect.anything(),\n };\n}\n\nexport function applyCustomMatchers(): void {\n expect.extend({\n toBeGreaterThan: (r: number, e: number) => {\n return {\n pass: r > e,\n message: () => `expected ${r} to be greater than ${e} (lastUpdated)`,\n };\n },\n });\n}\n\ninterface CustomMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ninterface CustomAsymmetricMatchers<R = any> {\n toBeGreaterThan: (n: number) => R;\n}\n\ndeclare module \"vitest\" {\n interface Assertion<T = any> extends CustomMatchers<T> {}\n interface AsymmetricMatchersContaining extends CustomAsymmetricMatchers {}\n}\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAaA,SAASA,KAAK,QAAQ,OAAO;AAE7B,OAAOC,MAAM,MAAM,SAAS;AAC5B,OAAOC,SAAS,MAAM,gBAAgB;AAEtC,SAASC,SAAS,EAAEC,UAAU,EAAEC,MAAM,EAAEC,EAAE,EAAEC,MAAM,QAAQ,QAAQ;AAGlE,SAASC,iBAAiB,QAAQ,iBAAiB;AAOnD,MAAMC,KAAK,GAAG,IAAIT,KAAK,CAAC,CAAC,CAAC,CAAC;;AA+B3B,SAASU,OAAOA,CAAC,GAAGC,IAAW,EAAE;EAC/B;EACAC,OAAO,CAACC,GAAG,CACTJ,KAAK,CAACK,MAAM,CAAC,YAAY,CAAC,EAC1B,GAAGH,IACL,CAAC;AACH;AACA;AACA;AACA;AACA;;AAEA,OAAO,SAASI,gBAAgBA,CAC9BC,QAA6B,EAC7BC,OAAgD,EACxC;EACR,MAAMC,MAAM,GAAG;IACbC,KAAK,EAAE,CAACV,KAAK,CAACW,IAAI,EAAEX,KAAK,CAACY,MAAM,CAAC;IACjCC,IAAI,EAAE,CAACb,KAAK,CAACc,KAAK,EAAEd,KAAK,CAACe,OAAO,CAAC;IAClCC,KAAK,EAAE,CAAChB,KAAK,CAACiB,IAAI,EAAEjB,KAAK,CAACkB,MAAM,CAAC;IACjCC,KAAK,EAAE,CAACnB,KAAK,CAACoB,GAAG,EAAEpB,KAAK,CAACqB,KAAK,CAAC;IAC/BC,IAAI,EAAE,CAACtB,KAAK,CAACK,MAAM,EAAEL,KAAK,CAACuB,QAAQ,CAAC;IACpCC,KAAK,EAAE,CAACxB,KAAK,CAACyB,SAAS,EAAEzB,KAAK,CAAC0B,WAAW;EAC5C,CAAU;EACV,SAASC,eAAeA,CACtBC,IAA6D,EAC7D;IACA,OAAO/B,EAAE,CAACgC,EAAE,CACV,CACE,GAAG3B,IAKF,KACE;MACH,MAAM4B,OAAO,GAAG,OAAO5B,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;MAC3C,MAAM6B,GAA4B,GAAGD,OAAO,GAAG5B,IAAI,CAAC,CAAC,CAAC,GAAU,CAAC,CAAC;MAClE,MAAM8B,IAAW,GAAGF,OAAO,GAAG5B,IAAI,CAAC+B,KAAK,CAAC,CAAC,CAAC,GAAG/B,IAAI,CAAC+B,KAAK,CAAC,CAAC,CAAC;;MAE3D;MACA9B,OAAO,CAACC,GAAG,CACT,GAAGK,MAAM,CAACmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAACA,IAAI,CAAC,GACtBpB,OAAO,EAAE0B,SAAS,GAAG,GAAG,GAAGzB,MAAM,CAACmB,IAAI,CAAC,CAAC,CAAC,CAAC,CAACpB,OAAO,CAAC0B,SAAS,CAAC,GAAG,EAAE,GACjEH,GAAG,CAACI,UAAU,GAAG,KAAKnC,KAAK,CAACoC,OAAO,CAACL,GAAG,CAACI,UAAU,CAAC,IAAI,GAAG,EAAE,EAAE,EACjE,GAAGH,IACL,CAAC;MACD,IAAIzB,QAAQ,IAAI8B,MAAM,CAACC,IAAI,CAAC/B,QAAQ,CAAC,CAACgC,MAAM,GAAG,CAAC,EAAE;QAChD;QACApC,OAAO,CAACC,GAAG,CAACG,QAAQ,CAAC;MACvB;IACF,CACF,CAAC;EACH;EACA,OAAO;IACLG,KAAK,EAAEiB,eAAe,CAAC,OAAO,CAAC;IAC/BR,KAAK,EAAEQ,eAAe,CAAC,OAAO,CAAC;IAC/Bd,IAAI,EAAEc,eAAe,CAAC,MAAM,CAAC;IAC7BL,IAAI,EAAEK,eAAe,CAAC,MAAM,CAAC;IAC7BH,KAAK,EAAEG,eAAe,CAAC,OAAO,CAAC;IAC/Ba,KAAK,EAAE3C,EAAE,CAACgC,EAAE,CAAkB,CAACY,aAAa,EAAEC,YAAY,KACxDpC,gBAAgB,CAAC;MACf,GAAGC,QAAQ;MACX,GAAGkC;IACL,CAAC,EAAE;MACDE,KAAK,EAAE,CAACD,YAAY,IAAIlC,OAAO,GAAGmC,KAAK;MACvCT,SAAS,EAAE1B,OAAO,EAAE0B,SAAS,IAAIQ,YAAY,EAAER,SAAS,GACpD,GAAG1B,OAAO,EAAE0B,SAAS,GAAG,GAAG1B,OAAO,CAAC0B,SAAS,GAAG,GAAG,EAAE,GACpDQ,YAAY,EAAER,SAAS,IAAI,EAAE,EAC7B,GACAU;IACN,CAAC,CACH,CAAC;IACD5B,KAAK,EAAEW,eAAe,CAAC,OAAO,CAAC;IAC/BkB,cAAc,EAAEhD,EAAE,CAACgC,EAAE,CAAC,MAAU,IAAI;EACtC,CAAC;AACH;AAEA,OAAO,SAASiB,sBAAsBA,CAAA,EAAqB;EACzD,MAAMC,MAAM,GAAGjD,MAAM,CAAC+B,EAAE,CAAgB,CAAqC;EAE7E,MAAMmB,MAAM,GAAG1C,gBAAgB,CAAC,CAAC,CAAC,CAAC;;EAEnC;EACAyC,MAAM,CAACE,kBAAkB,CAAC,CAAC,GAAG/C,IAAW,KAAK;IAC5C,MAAMgD,WAAW,GAAGF,MAAM,CAACR,KAAK,CAAC,CAAC,CAAC,EAAE;MAAEN,SAAS,EAAE;IAAuB,CAAC,CAAC;IAC3E,IAAI;MACF,MAAM,IAAIiB,KAAK,CAAC,4CAA4C,CAAC;IAC/D,CAAC,CAAC,OAAOC,CAAC,EAAE;MACVF,WAAW,CAAC/B,KAAK,CAAC,0BAA0B,EAAEiC,CAAC,CAAC;IAClD;IAEA,IAAIC,KAAK;IACT,MAAMC,aAAa,GAAG;MACpBD,KAAK,EAAEA,CAAC,GAAGE,SAAgB,KAAK;QAC9BL,WAAW,CAAClC,KAAK,CAAC,OAAO,EAAEuC,SAAS,CAAC;QACrCF,KAAK,GAAGE,SAAS;QACjB,OAAOD,aAAa;MACtB,CAAC;MACDE,SAAS,EAAEA,CAAC,GAAGC,SAAgB,KAAK;QAClCP,WAAW,CAAClC,KAAK,CAAC,UAAU,EAAEqC,KAAK,EAAGI,SAAS,CAAC;QAChD,MAAM,IAAIN,KAAK,CAAC,IAAI,CAAC;MACvB,CAAC;MACDO,QAAQ,EAAEA,CAAC,GAAGD,SAAgB,KAAK;QACjCP,WAAW,CAAClC,KAAK,CAAC,UAAU,EAAEyC,SAAS,CAAC;QAExC,MAAM,IAAIN,KAAK,CAAC,IAAI,CAAC;MACvB;IACF,CAAC;IACD,OAAOG,aAAa;EACtB,CAAC,CAAC;EAEFP,MAAM,CAAChD,iBAAiB,CAAC,GAAG;IAC1B4D,OAAO,EAAE,uBAAuB;IAChCC,WAAW,EAAE,cAAc;IAC3BC,aAAa,EAAE/D,MAAM,CAAC+B,EAAE,CAAC,CAAC;IAC1BiC,cAAc,EAAEhE,MAAM,CAAC+B,EAAE,CAAC,CAAC;IAC3BkC,gBAAgB,EAAE;MAChBC,mBAAmB,EAAElE,MAAM,CAAC+B,EAAE,CAAC,CAAC;MAChCoC,sBAAsB,EAAEnE,MAAM,CAAC+B,EAAE,CAAC,CAAC;MACnCqC,mBAAmB,EAAEpE,MAAM,CAAC+B,EAAE,CAAC,CAAC;MAChCsC,kBAAkB,EAAErE,MAAM,CAAC+B,EAAE,CAAC;IAChC,CAAC;IACDuC,aAAa,EAAEtE,MAAM,CAAC+B,EAAE,CAAC,CAAC;IAC1BwC,gBAAgB,EAAEvE,MAAM,CAAC+B,EAAE,CAAC,CAAC;IAC7ByC,KAAK,EAAExE,MAAM,CAAC+B,EAAE,CAAC,CAAC;IAClB0C,cAAc,EAAE,CAAC,CAAQ;IACzBC,cAAc,EAAE,CAAC,CAAC;IAClBxB;EACF,CAAC;EAsFD,OAAO;IACLD,MAAM;IACN0B,mBAAmB,EA7BrB,SAAAA,CAAA,EAEE;MACA,MAAMC,CAAC,GAAGlF,MAAM,CAA8B,CAAC;MAE/CuD,MAAM,CAAC4B,mBAAmB,CACxB;QACEC,WAAW,EAAE,MAAAA,CAAA,KAA8C;UACzD,MAAMC,CAAC,GAAG,MAAMH,CAAC,CAACI,OAAO;UACzB,OAAO;YACLC,IAAI,EAAE,OAAO;YACbC,UAAU,EAAEH,CAAC,CAACG,UAAU,IAAI,EAAE;YAC9BC,YAAY,EAAEJ,CAAC,CAACI,YAAY,IAAI,EAAE;YAClCC,iBAAiB,EAAEL,CAAC,CAACK,iBAAiB,IAAI,CAAC;YAC3CC,mBAAmB,EAAEN,CAAC,CAACM,mBAAmB,IAAI,CAAC;YAC/CC,iBAAiB,EAAEP,CAAC,CAACO,iBAAiB,IAAI,EAAE;YAC5CC,eAAe,EAAER,CAAC,CAACQ,eAAe,IAAI;UACxC,CAAC;QACH;MACF,CAIF,CAAC;MACD,OAAOX,CAAC;IACV,CAIqB;IACnBY,gBAAgB,EAnDlB,SAAAA,CAEEC,UAAsC,EAAsB;MAC5D,MAAMb,CAAC,GAAGlF,MAAM,CAAI,CAAC;MAErBuD,MAAM,CAAC4B,mBAAmB,CACxB;QACEjB,QAAQ,EAAE,MAAO8B,CAAC,IAAK;UACrBvF,OAAO,CAAC,UAAU,EAAEuF,CAAC,CAAC;UACtB,EACED,UAAU,KAAK3C,SAAS,IAAI4C,CAAC,KAAKD,UAAU,IAAAE,OAAA,CAAAC,GAAA,CAAAC,QAAA,oBAD9ClG,SAAS,QAEP,sBAAsB,IAFxBA,SAAS;UAIT,MAAMmG,CAAC,GAAG,MAAMlB,CAAC,CAACI,OAAO;UACzB,OAAO;YAAE,GAAGc,CAAC;YAAEC,WAAW,EAAEL;UAAE,CAAC;QACjC;MACF,CACF,CAAC;MACD,OAAOd,CAAC;IACV,CAgCkB;IAChBoB,sBAAsB,EAxFxB,SAAAA,CAAA,EAAkC;MAChC,MAAMpB,CAAC,GAAGlF,MAAM,CAEd,CAAC;MACHK,EAAE,CAACkG,MAAM,CAAChD,MAAM,CAAChD,iBAAiB,CAAC,CAAC+D,cAAc,CAAC,CAACa,mBAAmB,CACrED,CAAC,CAACI,OACJ,CAAC;MACD,OAAOJ,CAAC;IACV,CAgFwB;IACtBsB,iBAAiB,EA/EnB,SAAAA,CAAA,EAIwB;MACtB,MAAMtB,CAAC,GAAGlF,MAAM,CAAI,CAAC;MAErB,MAAMyG,SAA0C,GAAG;QACjDzC,SAAS,EAAE,MAAO0C,aAAa,IAAK;UAClCjG,OAAO,CAAC,WAAW,EAAEiG,aAAa,CAAC;UACnC,MAAMN,CAAC,GAAG,MAAMlB,CAAC,CAACI,OAAO;UACzB,OAAO;YAAE,GAAGc,CAAC;YAAEC,WAAW,EAAEK;UAAc,CAAC;QAC7C,CAAC;QACD7C,KAAK,EAAG8C,MAAM,IAAK;UACjBlG,OAAO,CAAC,OAAO,EAAEkG,MAAM,CAAC;UACxB,OAAOF,SAAS;QAClB;MACF,CAGoC;MAEpClD,MAAM,CAAC4B,mBAAmB,CAACsB,SAAS,CAAC;MACrC,OAAOvB,CAAC;IACV;EAwDA,CAAC;AACH;AAEA,OAAO,SAAS0B,WAAWA,CAAA,EAAG;EAC5B,IAAIC,aAA+B;EAEnC1G,UAAU,CAAC,MAAM;IACf0G,aAAa,GAAG,EAAE;EACpB,CAAC,CAAC;EAEF3G,SAAS,CAAC,MAAM;IACd,KAAK,MAAM4G,CAAC,IAAID,aAAa,EAAE;MAC7BC,CAAC,CAACC,WAAW,CAAC,CAAC;IACjB;IACAF,aAAa,GAAG,EAAE;EACpB,CAAC,CAAC;EAEF,OAAO,UAAexB,CAAiB,EAAkB;IACvDwB,aAAa,CAACG,IAAI,CAAC3B,CAAC,CAAC;IACrB,OAAOA,CAAC;EACV,CAAC;AACH;AAEA,OAAO,SAAS4B,4BAA4BA,CAC1CC,KAAiD,EACjDC,YAAgC,EAChCC,cAA0D,GAAG,CAAC,CAAC,EACzD;EACN,IAAI9G,MAAM,CAAC+G,YAAY,CAAC,CAAC,EAAE;IACzB/G,MAAM,CAACgH,oBAAoB,CAAC,CAAC;EAC/B;EACAlH,MAAM,CAAC8G,KAAK,CAAC,CAACK,+BAA+B,CAC3CC,qBAAqB,CAAC;IACpB,GAAGJ,cAAc;IACjBD;EACF,CAAC,CACH,CAAC;EACDD,KAAK,CAACO,SAAS,CAAC,CAAC;AACnB;AAEA,OAAO,SAASC,8BAA8BA,CAC5CR,KAAmD,EACnDS,MAAwB,EACxBC,MAAe,EACT;EACNxH,MAAM,CAAC8G,KAAK,CAAC,CAACK,+BAA+B,CAC3CnH,MAAM,CAACyH,gBAAgB,CAAC;IACtBF,MAAM;IACNC,MAAM,EAAEA,MAAM,IAAIxH,MAAM,CAAC0H,GAAG,CAACC,MAAM;EACrC,CAAC,CACH,CAAC;EACDb,KAAK,CAACO,SAAS,CAAC,CAAC;AACnB;AAEA,OAAO,eAAeO,WAAWA,CAC/Bd,KAA6B,EAC7Be,KAAa,GAAG,CAAC,EACF;EACf,IAAI;IACF,MAAM5H,EAAE,CAAC6H,OAAO,CAAC,MAAM;MACrB9H,MAAM,CAAC8G,KAAK,CAAC,CAACiB,qBAAqB,CAACF,KAAK,CAAC;IAC5C,CAAC,CAAC;EACJ,CAAC,CAAC,OAAOrE,CAAC,EAAE;IACV;IACA;IACA;IACA;EAAA;EAEFxD,MAAM,CAAC8G,KAAK,CAAC,CAACiB,qBAAqB,CAACF,KAAK,CAAC;AAC5C;AAEA,SAASG,wBAAwBA,CAAA,EAAG,CACpC;AAEA,OAAO,SAASC,qBAAqBA,CAAA,EAYrC;EACE,MAAMC,GAAG,GAAGhI,MAAM,CAAC+B,EAAE,CAAC,MAAkC,CAAC,CAAC,CAAC;;EAE3D;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;EAEA,OAAOQ,MAAM,CAAC0F,MAAM,CAACD,GAAG,EAAE;IACxB;IACA;IACAE,sBAAsB,EAAE,MACtBC,CAAyC,IACtC;MACH,MAAMT,WAAW,CAACM,GAAG,EAAE,CAAC,CAAC;;MAEzB;MACAlI,MAAM,CAACkI,GAAG,CAAC,CAACI,uBAAuB,CACjC,CAAC,EACDD,CAAC,CAACE,OACJ,CAAC;MACDvI,MAAM,CAACkI,GAAG,CAAC,CAACI,uBAAuB,CACjC,CAAC,EACDD,CAAC,CAACG,MACJ,CAAC;MACDxI,MAAM,CAACkI,GAAG,CAAC,CAACH,qBAAqB,CAAC,CAAC,CAAC;MACpCG,GAAG,CAACb,SAAS,CAAC,CAAC;IACjB;EACF,CAAC,CAAC;AACJ;AAEA,OAAO,SAASoB,mBAAmBA,CAAA,EAEjC;EACA,OAAOvI,MAAM,CAAC+B,EAAE,CACd,MAAgC,CAAC,CACnC,CAAC;AACH;AAEA,OAAO,SAASyG,oBAAoBA,CAACzD,CAAsB,EAAc;EACvE,OAAO;IACL0D,QAAQ,EAAE1D,CAAC,CAAC0D,QAAQ,IAAI3I,MAAM,CAAC0H,GAAG,CAACjF,MAAM,CAAC;IAC1CmG,KAAK,EAAE,OAAO,IAAI3D,CAAC,GACfA,CAAC,CAAC2D,KAAK,GACP5I,MAAM,CAAC6I,SAAS,CAAC,CAAC7I,MAAM,CAAC8I,QAAQ,CAAC,CAAC,EAAE9F,SAAS,CAAC,CAAC;IACpDwE,MAAM,EAAEvC,CAAC,CAACuC,MAAM,IAAIxH,MAAM,CAAC8I,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAE9D,CAAC,CAAC8D,WAAW,IAAI/I,MAAM,CAAC8I,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,SAASE,gBAAgBA,CACvBC,GAAM,EACNC,GAAM,EACa;EACnB,OAAOA,GAAG,IAAID,GAAG,GACbA,GAAG,CAACC,GAAG,CAAC,GACRlJ,MAAM,CAAC6I,SAAS,CAAC,CAAC7I,MAAM,CAAC8I,QAAQ,CAAC,CAAC,EAAE9F,SAAS,CAAC,CAAC;AACtD;AAEA,OAAO,SAASmG,uBAAuBA,CACrClE,CAAyB,EACV;EACf,OAAO;IACLsC,MAAM,EAAEyB,gBAAgB,CAAC/D,CAAC,EAAE,QAAQ,CAAC;IACrCmE,YAAY,EAAEpJ,MAAM,CAAC0H,GAAG,CAAC2B,OAAO,CAAC;IACjC7B,MAAM,EAAEvC,CAAC,CAACuC,MAAM,IAAIxH,MAAM,CAAC8I,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAE9D,CAAC,CAAC8D,WAAW,IAAI/I,MAAM,CAAC8I,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAAS1B,qBAAqBA,CACnCnC,CAAuB,EACV;EACb,OAAO;IACLqE,SAAS,EAAErE,CAAC,CAACqE,SAAS,IAAItJ,MAAM,CAAC0H,GAAG,CAAC6B,QAAQ,CAAC;IAC9CC,OAAO,EAAEvE,CAAC,CAACuE,OAAO,IAAIxJ,MAAM,CAAC0H,GAAG,CAAC2B,OAAO,CAAC;IACzCtC,YAAY,EAAE9B,CAAC,CAAC8B,YAAY,IAAI/G,MAAM,CAAC8I,QAAQ,CAAC,CAAC;IACjDM,YAAY,EAAEpJ,MAAM,CAAC0H,GAAG,CAAC2B,OAAO,CAAC;IACjC7B,MAAM,EAAEvC,CAAC,CAACuC,MAAM,IAAIxH,MAAM,CAAC8I,QAAQ,CAAC,CAAC;IACrCC,WAAW,EAAE9D,CAAC,CAAC8D,WAAW,IAAI/I,MAAM,CAAC8I,QAAQ,CAAC;EAChD,CAAC;AACH;AAEA,OAAO,SAASW,mBAAmBA,CAAA,EAAS;EAC1CzJ,MAAM,CAAC0J,MAAM,CAAC;IACZC,eAAe,EAAEA,CAAC3D,CAAS,EAAExC,CAAS,KAAK;MACzC,OAAO;QACLoG,IAAI,EAAE5D,CAAC,GAAGxC,CAAC;QACXqG,OAAO,EAAEA,CAAA,KAAM,YAAY7D,CAAC,uBAAuBxC,CAAC;MACtD,CAAC;IACH;EACF,CAAC,CAAC;AACJ","ignoreList":[]}
@@ -14,5 +14,5 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- export const USER_AGENT = `osdk-client/${"2.2.0-beta.3"}`;
17
+ export const USER_AGENT = `osdk-client/${"2.2.0-beta.4"}`;
18
18
  //# sourceMappingURL=UserAgent.js.map
@@ -1212,7 +1212,7 @@ var createStandardOntologyProviderFactory = (client) => {
1212
1212
  };
1213
1213
 
1214
1214
  // src/util/UserAgent.ts
1215
- var USER_AGENT = `osdk-client/${"2.2.0-beta.3"}`;
1215
+ var USER_AGENT = `osdk-client/${"2.2.0-beta.4"}`;
1216
1216
 
1217
1217
  // src/createMinimalClient.ts
1218
1218
  function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = chunkT5UE6BI7_cjs.createObjectSet) {