@osdk/client 2.1.0-beta.13 → 2.1.0-beta.15
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 +33 -0
- package/build/browser/actions/actions.test.js +19 -0
- package/build/browser/actions/actions.test.js.map +1 -1
- package/build/browser/createClient.test.js +14 -0
- package/build/browser/createClient.test.js.map +1 -1
- package/build/browser/createMinimalClient.js +3 -1
- package/build/browser/createMinimalClient.js.map +1 -1
- package/build/browser/fetchMetadata.test.js +7 -0
- package/build/browser/fetchMetadata.test.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js +8 -0
- package/build/browser/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js +120 -0
- package/build/browser/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js +1 -1
- package/build/browser/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/browser/object/convertWireToOsdkObjects.test.js +3 -3
- package/build/browser/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/browser/object/fetchPage.js +3 -1
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/object.test.d.ts.map +1 -1
- package/build/browser/object/object.test.js +24 -0
- package/build/browser/object/object.test.js.map +1 -1
- package/build/browser/object/timeseries.test.js +10 -0
- package/build/browser/object/timeseries.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSet.test.js +63 -0
- package/build/browser/objectSet/ObjectSet.test.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js +29 -15
- package/build/browser/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js +6 -3
- package/build/browser/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/browser/util/UserAgent.js +1 -1
- package/build/browser/util/timeseriesUtils.d.ts +1 -1
- package/build/browser/util/timeseriesUtils.d.ts.map +1 -1
- package/build/browser/util/timeseriesUtils.js +1 -1
- package/build/browser/util/timeseriesUtils.js.map +1 -1
- package/build/esm/actions/actions.test.js +19 -0
- package/build/esm/actions/actions.test.js.map +1 -1
- package/build/esm/createClient.test.js +14 -0
- package/build/esm/createClient.test.js.map +1 -1
- package/build/esm/createMinimalClient.js +3 -1
- package/build/esm/createMinimalClient.js.map +1 -1
- package/build/esm/fetchMetadata.test.js +7 -0
- package/build/esm/fetchMetadata.test.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js +8 -0
- package/build/esm/internal/conversions/modernToLegacyWhereClause.js.map +1 -1
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js +120 -0
- package/build/esm/internal/conversions/modernToLegacyWhereClause.test.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js +1 -1
- package/build/esm/object/convertWireToOsdkObjects/createOsdkObject.js.map +1 -1
- package/build/esm/object/convertWireToOsdkObjects.test.js +3 -3
- package/build/esm/object/convertWireToOsdkObjects.test.js.map +1 -1
- package/build/esm/object/fetchPage.js +3 -1
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/object.test.d.ts.map +1 -1
- package/build/esm/object/object.test.js +24 -0
- package/build/esm/object/object.test.js.map +1 -1
- package/build/esm/object/timeseries.test.js +10 -0
- package/build/esm/object/timeseries.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSet.test.js +63 -0
- package/build/esm/objectSet/ObjectSet.test.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js +29 -15
- package/build/esm/objectSet/ObjectSetListenerWebsocket.js.map +1 -1
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js +6 -3
- package/build/esm/objectSet/ObjectSetListenerWebsocket.test.js.map +1 -1
- package/build/esm/util/UserAgent.js +1 -1
- package/build/esm/util/timeseriesUtils.d.ts +1 -1
- package/build/esm/util/timeseriesUtils.d.ts.map +1 -1
- package/build/esm/util/timeseriesUtils.js +1 -1
- package/build/esm/util/timeseriesUtils.js.map +1 -1
- package/package.json +10 -10
|
@@ -33,9 +33,11 @@ function asV2Object(o, includeRid) {
|
|
|
33
33
|
describe("OsdkObject", () => {
|
|
34
34
|
describe("link", () => {
|
|
35
35
|
let client;
|
|
36
|
+
let customEntryPointClient;
|
|
36
37
|
beforeAll(async () => {
|
|
37
38
|
apiServer.listen();
|
|
38
39
|
client = createClient("https://stack.palantir.com", $ontologyRid, async () => "myAccessToken");
|
|
40
|
+
customEntryPointClient = createClient("https://stack.palantirCustom.com/foo/first/someStuff", $ontologyRid, async () => "myAccessToken");
|
|
39
41
|
});
|
|
40
42
|
afterAll(() => {
|
|
41
43
|
apiServer.close();
|
|
@@ -62,6 +64,28 @@ describe("OsdkObject", () => {
|
|
|
62
64
|
// it should have the prototype that we assign at hydration time
|
|
63
65
|
expect(Object.keys(employee.$link.lead)).toBeDefined();
|
|
64
66
|
});
|
|
67
|
+
it("loads an employee with custom client", async () => {
|
|
68
|
+
const result = await customEntryPointClient(Employee).where({
|
|
69
|
+
employeeId: stubData.employee1.employeeId
|
|
70
|
+
}).fetchPage();
|
|
71
|
+
// we should get the employee we requested
|
|
72
|
+
const employee = result.data[0];
|
|
73
|
+
expect(JSON.stringify(employee)).toBeDefined();
|
|
74
|
+
expect(employee).toMatchObject({
|
|
75
|
+
"$apiName": "Employee",
|
|
76
|
+
"$objectType": "Employee",
|
|
77
|
+
"$primaryKey": 50030,
|
|
78
|
+
"class": "Red",
|
|
79
|
+
"employeeId": 50030,
|
|
80
|
+
"employeeStatus": expect.anything(),
|
|
81
|
+
"fullName": "John Doe",
|
|
82
|
+
"office": "NYC",
|
|
83
|
+
"startDate": "2019-01-01"
|
|
84
|
+
});
|
|
85
|
+
employee.startDate;
|
|
86
|
+
// it should have the prototype that we assign at hydration time
|
|
87
|
+
expect(Object.keys(employee.$link.lead)).toBeDefined();
|
|
88
|
+
});
|
|
65
89
|
it("traverses the link from an employee to their lead", async () => {
|
|
66
90
|
const result = await client(Employee).where({
|
|
67
91
|
employeeId: stubData.employee1.employeeId
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"object.test.js","names":["$Objects","$ontologyRid","Employee","apiServer","stubData","withoutRid","afterAll","beforeAll","describe","expect","it","createClient","asV2Object","o","includeRid","$apiName","__apiName","$objectType","$primaryKey","__primaryKey","$title","__title","client","listen","close","result","where","employeeId","employee1","fetchPage","employee","data","JSON","stringify","toBeDefined","toMatchObject","anything","startDate","Object","keys","$link","lead","fetchOne","$select","toBe","employee2","employeeStatus","toBeUndefined","employees","$and","peepsResult","peeps","toHaveLength","nextPageToken","office","peep","$includeRid","leadRid","$rid","objects","sort","toStrictEqual","shouldError","shouldError2","shouldCompile_client_fetchOne_old_select","shouldCompile_unstableClient_fetchOne_old_select","shouldCompile_client_fetchOne_new_select","shouldCompile_unstableClient_fetchOne_new_select","shouldCompile_client_fetchOne_old_noArgs","shouldCompile_unstableClient_fetchOne_noArgs"],"sources":["object.test.js"],"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 */\nimport { $Objects, $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData, withoutRid } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nfunction asV2Object(o, includeRid) {\n o = includeRid ? { ...o } : withoutRid(o);\n o.$apiName = o.__apiName;\n o.$objectType = o.__apiName;\n o.$primaryKey = o.__primaryKey;\n o.$title = o.__title;\n delete o.__apiName;\n delete o.__primaryKey;\n delete o.__title;\n return o;\n}\ndescribe(\"OsdkObject\", () => {\n describe(\"link\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"loads an employee\", async () => {\n const result = await client(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage();\n // we should get the employee we requested\n const employee = result.data[0];\n expect(JSON.stringify(employee)).toBeDefined();\n expect(employee).toMatchObject({\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 50030,\n \"class\": \"Red\",\n \"employeeId\": 50030,\n \"employeeStatus\": expect.anything(),\n \"fullName\": \"John Doe\",\n \"office\": \"NYC\",\n \"startDate\": \"2019-01-01\",\n });\n employee.startDate;\n // it should have the prototype that we assign at hydration time\n expect(Object.keys(employee.$link.lead)).toBeDefined();\n });\n it(\"traverses the link from an employee to their lead\", async () => {\n const result = await client(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage();\n const employee = result.data[0];\n const lead = await employee.$link.lead.fetchOne({\n $select: [\"employeeId\"],\n });\n expect(lead.employeeId).toBe(stubData.employee2.employeeId);\n // ensure that the select was performed\n expect(lead.employeeId).toBeDefined();\n expect(lead.employeeStatus).toBeUndefined();\n });\n it(\"traverses the link from an lead to their peeps\", async () => {\n // slightly weird request here to hit the existing mocks for employee2\n const employees = await client(Employee).where({\n $and: [\n { \"employeeId\": { \"$gt\": 50030 } },\n { \"employeeId\": { \"$lt\": 50032 } },\n ],\n }).fetchPage();\n const lead = employees.data[0];\n expect(lead).toBeDefined();\n const peepsResult = await lead.$link.peeps.fetchPage({\n $select: [\"fullName\", \"employeeId\"],\n });\n expect(peepsResult.data).toHaveLength(2);\n expect(peepsResult.nextPageToken).toBeUndefined();\n // ensure that the select was performed\n expect(peepsResult.data[0].employeeId).toBeDefined();\n expect(peepsResult.data[0].office).toBeUndefined();\n });\n it(\"traverses the link from an lead to their peep by primaryKey with fetchOne\", async () => {\n // slightly weird request here to hit the existing mocks for employee2\n const employees = await client(Employee).where({\n $and: [\n { \"employeeId\": { \"$gt\": 50030 } },\n { \"employeeId\": { \"$lt\": 50032 } },\n ],\n }).fetchPage();\n const lead = employees.data[0];\n expect(lead).toBeDefined();\n const peep = await lead.$link.peeps.fetchOne(stubData.employee1.employeeId, {\n $select: [\"employeeId\"],\n });\n expect(peep).toBeDefined();\n // ensure that select worked\n expect(peep.employeeId).toBeDefined();\n expect(peep.employeeStatus).toBeUndefined();\n });\n it(\"gives $rid access when requested\", async () => {\n const result = await client(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage({\n $includeRid: true,\n });\n const leadRid = result.data[0].$rid;\n expect(leadRid).toBeDefined();\n expect(leadRid).toBe(\"ri.phonograph2-objects.main.object.88a6fccb-f333-46d6-a07e-7725c5f18b61\");\n });\n it(\"objects are enumerable in an sdk\", async () => {\n const objects = Object.keys($Objects);\n expect(objects.sort()).toStrictEqual([\n \"Employee\",\n \"ObjectWithTimestampPrimaryKey\",\n \"Office\",\n \"Person\",\n \"Task\",\n \"Todo\",\n \"equipment\",\n \"objectTypeWithAllPropertyTypes\",\n ].sort());\n });\n });\n});\nexport async function shouldError(client) {\n // @ts-expect-error\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldError2(client) {\n // @ts-expect-error\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_client_fetchOne_old_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_unstableClient_fetchOne_old_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_client_fetchOne_new_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_unstableClient_fetchOne_new_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_client_fetchOne_old_noArgs(client) {\n return client(Employee).fetchOne(1);\n}\nexport async function shouldCompile_unstableClient_fetchOne_noArgs(client) {\n return client(Employee).fetchOne(1);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"object.test.js","names":["$Objects","$ontologyRid","Employee","apiServer","stubData","withoutRid","afterAll","beforeAll","describe","expect","it","createClient","asV2Object","o","includeRid","$apiName","__apiName","$objectType","$primaryKey","__primaryKey","$title","__title","client","customEntryPointClient","listen","close","result","where","employeeId","employee1","fetchPage","employee","data","JSON","stringify","toBeDefined","toMatchObject","anything","startDate","Object","keys","$link","lead","fetchOne","$select","toBe","employee2","employeeStatus","toBeUndefined","employees","$and","peepsResult","peeps","toHaveLength","nextPageToken","office","peep","$includeRid","leadRid","$rid","objects","sort","toStrictEqual","shouldError","shouldError2","shouldCompile_client_fetchOne_old_select","shouldCompile_unstableClient_fetchOne_old_select","shouldCompile_client_fetchOne_new_select","shouldCompile_unstableClient_fetchOne_new_select","shouldCompile_client_fetchOne_old_noArgs","shouldCompile_unstableClient_fetchOne_noArgs"],"sources":["object.test.js"],"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 */\nimport { $Objects, $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData, withoutRid } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\nfunction asV2Object(o, includeRid) {\n o = includeRid ? { ...o } : withoutRid(o);\n o.$apiName = o.__apiName;\n o.$objectType = o.__apiName;\n o.$primaryKey = o.__primaryKey;\n o.$title = o.__title;\n delete o.__apiName;\n delete o.__primaryKey;\n delete o.__title;\n return o;\n}\ndescribe(\"OsdkObject\", () => {\n describe(\"link\", () => {\n let client;\n let customEntryPointClient;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n customEntryPointClient = createClient(\"https://stack.palantirCustom.com/foo/first/someStuff\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"loads an employee\", async () => {\n const result = await client(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage();\n // we should get the employee we requested\n const employee = result.data[0];\n expect(JSON.stringify(employee)).toBeDefined();\n expect(employee).toMatchObject({\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 50030,\n \"class\": \"Red\",\n \"employeeId\": 50030,\n \"employeeStatus\": expect.anything(),\n \"fullName\": \"John Doe\",\n \"office\": \"NYC\",\n \"startDate\": \"2019-01-01\",\n });\n employee.startDate;\n // it should have the prototype that we assign at hydration time\n expect(Object.keys(employee.$link.lead)).toBeDefined();\n });\n it(\"loads an employee with custom client\", async () => {\n const result = await customEntryPointClient(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage();\n // we should get the employee we requested\n const employee = result.data[0];\n expect(JSON.stringify(employee)).toBeDefined();\n expect(employee).toMatchObject({\n \"$apiName\": \"Employee\",\n \"$objectType\": \"Employee\",\n \"$primaryKey\": 50030,\n \"class\": \"Red\",\n \"employeeId\": 50030,\n \"employeeStatus\": expect.anything(),\n \"fullName\": \"John Doe\",\n \"office\": \"NYC\",\n \"startDate\": \"2019-01-01\",\n });\n employee.startDate;\n // it should have the prototype that we assign at hydration time\n expect(Object.keys(employee.$link.lead)).toBeDefined();\n });\n it(\"traverses the link from an employee to their lead\", async () => {\n const result = await client(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage();\n const employee = result.data[0];\n const lead = await employee.$link.lead.fetchOne({\n $select: [\"employeeId\"],\n });\n expect(lead.employeeId).toBe(stubData.employee2.employeeId);\n // ensure that the select was performed\n expect(lead.employeeId).toBeDefined();\n expect(lead.employeeStatus).toBeUndefined();\n });\n it(\"traverses the link from an lead to their peeps\", async () => {\n // slightly weird request here to hit the existing mocks for employee2\n const employees = await client(Employee).where({\n $and: [\n { \"employeeId\": { \"$gt\": 50030 } },\n { \"employeeId\": { \"$lt\": 50032 } },\n ],\n }).fetchPage();\n const lead = employees.data[0];\n expect(lead).toBeDefined();\n const peepsResult = await lead.$link.peeps.fetchPage({\n $select: [\"fullName\", \"employeeId\"],\n });\n expect(peepsResult.data).toHaveLength(2);\n expect(peepsResult.nextPageToken).toBeUndefined();\n // ensure that the select was performed\n expect(peepsResult.data[0].employeeId).toBeDefined();\n expect(peepsResult.data[0].office).toBeUndefined();\n });\n it(\"traverses the link from an lead to their peep by primaryKey with fetchOne\", async () => {\n // slightly weird request here to hit the existing mocks for employee2\n const employees = await client(Employee).where({\n $and: [\n { \"employeeId\": { \"$gt\": 50030 } },\n { \"employeeId\": { \"$lt\": 50032 } },\n ],\n }).fetchPage();\n const lead = employees.data[0];\n expect(lead).toBeDefined();\n const peep = await lead.$link.peeps.fetchOne(stubData.employee1.employeeId, {\n $select: [\"employeeId\"],\n });\n expect(peep).toBeDefined();\n // ensure that select worked\n expect(peep.employeeId).toBeDefined();\n expect(peep.employeeStatus).toBeUndefined();\n });\n it(\"gives $rid access when requested\", async () => {\n const result = await client(Employee).where({\n employeeId: stubData.employee1.employeeId,\n }).fetchPage({\n $includeRid: true,\n });\n const leadRid = result.data[0].$rid;\n expect(leadRid).toBeDefined();\n expect(leadRid).toBe(\"ri.phonograph2-objects.main.object.88a6fccb-f333-46d6-a07e-7725c5f18b61\");\n });\n it(\"objects are enumerable in an sdk\", async () => {\n const objects = Object.keys($Objects);\n expect(objects.sort()).toStrictEqual([\n \"Employee\",\n \"ObjectWithTimestampPrimaryKey\",\n \"Office\",\n \"Person\",\n \"Task\",\n \"Todo\",\n \"equipment\",\n \"objectTypeWithAllPropertyTypes\",\n ].sort());\n });\n });\n});\nexport async function shouldError(client) {\n // @ts-expect-error\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldError2(client) {\n // @ts-expect-error\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_client_fetchOne_old_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_unstableClient_fetchOne_old_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_client_fetchOne_new_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_unstableClient_fetchOne_new_select(client) {\n return client(Employee).fetchOne(1, {\n $select: [\"employeeId\"],\n });\n}\nexport async function shouldCompile_client_fetchOne_old_noArgs(client) {\n return client(Employee).fetchOne(1);\n}\nexport async function shouldCompile_unstableClient_fetchOne_noArgs(client) {\n return client(Employee).fetchOne(1);\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -40,6 +40,16 @@ describe("Timeseries", () => {
|
|
|
40
40
|
expect(point?.time).toEqual("2014-04-14");
|
|
41
41
|
expect(point?.value).toEqual(30);
|
|
42
42
|
});
|
|
43
|
+
it("get last and first points works with sensor object", async () => {
|
|
44
|
+
const employee = await client(Employee).fetchOne(50030);
|
|
45
|
+
expect(employee.$primaryKey).toEqual(50030);
|
|
46
|
+
const firstPoint = await employee.employeeSensor?.getFirstPoint();
|
|
47
|
+
const lastPoint = await employee.employeeSensor?.getLastPoint();
|
|
48
|
+
expect(firstPoint?.time).toEqual("2015-05-15");
|
|
49
|
+
expect(firstPoint?.value).toEqual(40);
|
|
50
|
+
expect(lastPoint?.time).toEqual("2014-04-14");
|
|
51
|
+
expect(lastPoint?.value).toEqual(30);
|
|
52
|
+
});
|
|
43
53
|
it("getAll points with before works", async () => {
|
|
44
54
|
const employee = await client(Employee).fetchOne(50030);
|
|
45
55
|
expect(employee.$primaryKey).toEqual(50030);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeseries.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","$primaryKey","toEqual","point","employeeStatus","getFirstPoint","time","value","getLastPoint","points","getAllPoints","$before","$unit","toBeDefined","$after","$startTime","$endTime","pointsIter","asyncIterPoints","push"],"sources":["timeseries.test.js"],"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 */\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"Timeseries\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"get first points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getFirstPoint();\n expect(point?.time).toEqual(\"2012-02-12\");\n expect(point?.value).toEqual(10);\n });\n it(\"get last points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getLastPoint();\n expect(point?.time).toEqual(\"2014-04-14\");\n expect(point?.value).toEqual(30);\n });\n it(\"getAll points with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2014-04-14\",\n value: 30,\n }]);\n });\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints();\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints();\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"timeseries.test.js","names":["$ontologyRid","Employee","apiServer","afterAll","beforeAll","describe","expect","it","createClient","client","listen","close","employee","fetchOne","$primaryKey","toEqual","point","employeeStatus","getFirstPoint","time","value","getLastPoint","firstPoint","employeeSensor","lastPoint","points","getAllPoints","$before","$unit","toBeDefined","$after","$startTime","$endTime","pointsIter","asyncIterPoints","push"],"sources":["timeseries.test.js"],"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 */\nimport { $ontologyRid, Employee } from \"@osdk/client.test.ontology\";\nimport { apiServer } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, it } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"Timeseries\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"get first points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getFirstPoint();\n expect(point?.time).toEqual(\"2012-02-12\");\n expect(point?.value).toEqual(10);\n });\n it(\"get last points works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const point = await employee.employeeStatus?.getLastPoint();\n expect(point?.time).toEqual(\"2014-04-14\");\n expect(point?.value).toEqual(30);\n });\n it(\"get last and first points works with sensor object\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const firstPoint = await employee.employeeSensor?.getFirstPoint();\n const lastPoint = await employee.employeeSensor?.getLastPoint();\n expect(firstPoint?.time).toEqual(\"2015-05-15\");\n expect(firstPoint?.value).toEqual(40);\n expect(lastPoint?.time).toEqual(\"2014-04-14\");\n expect(lastPoint?.value).toEqual(30);\n });\n it(\"getAll points with before works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $before: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with after works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $after: 1,\n $unit: \"month\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{ time: \"2012-02-12\", value: 10 }, {\n time: \"2014-04-14\",\n value: 30,\n }]);\n });\n it(\"getAll points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"getAll points with no query works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const points = await employee.employeeStatus?.getAllPoints();\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n it(\"async iter points with absolute range works\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints({\n $startTime: \"2013-03-12T12:00:00.000Z\",\n $endTime: \"2014-04-14T12:00:00.000Z\",\n });\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([{\n time: \"2013-03-13\",\n value: 20,\n }, { time: \"2014-04-14\", value: 30 }]);\n });\n it(\"async iter points with no query\", async () => {\n const employee = await client(Employee).fetchOne(50030);\n expect(employee.$primaryKey).toEqual(50030);\n const pointsIter = employee.employeeStatus?.asyncIterPoints();\n const points = [];\n for await (const point of pointsIter) {\n points.push(point);\n }\n expect(points).toBeDefined();\n expect(points).toEqual([\n { time: \"2012-02-12\", value: 10 },\n { time: \"2012-02-12\", value: 10 },\n {\n time: \"2013-03-13\",\n value: 20,\n },\n { time: \"2014-04-14\", value: 30 },\n { time: \"2014-04-14\", value: 30 },\n ]);\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -95,6 +95,7 @@ describe("ObjectSet", () => {
|
|
|
95
95
|
class: "Red",
|
|
96
96
|
employeeId: 50030,
|
|
97
97
|
employeeStatus: expect.anything(),
|
|
98
|
+
employeeSensor: expect.anything(),
|
|
98
99
|
fullName: "John Doe",
|
|
99
100
|
office: "NYC",
|
|
100
101
|
startDate: "2019-01-01",
|
|
@@ -107,6 +108,7 @@ describe("ObjectSet", () => {
|
|
|
107
108
|
class: "Blue",
|
|
108
109
|
employeeId: 50031,
|
|
109
110
|
employeeStatus: expect.anything(),
|
|
111
|
+
employeeSensor: expect.anything(),
|
|
110
112
|
fullName: "Jane Doe",
|
|
111
113
|
office: "SEA",
|
|
112
114
|
startDate: "2012-02-12",
|
|
@@ -119,6 +121,7 @@ describe("ObjectSet", () => {
|
|
|
119
121
|
class: "Red",
|
|
120
122
|
employeeId: 50032,
|
|
121
123
|
employeeStatus: expect.anything(),
|
|
124
|
+
employeeSensor: expect.anything(),
|
|
122
125
|
fullName: "Jack Smith",
|
|
123
126
|
office: "LON",
|
|
124
127
|
startDate: "2015-05-15",
|
|
@@ -212,6 +215,66 @@ describe("ObjectSet", () => {
|
|
|
212
215
|
nonExistentProp: ""
|
|
213
216
|
});
|
|
214
217
|
});
|
|
218
|
+
it("type checking containsallterm and containsanyterm", () => {
|
|
219
|
+
client(Employee).where({
|
|
220
|
+
$or: [{
|
|
221
|
+
fullName: {
|
|
222
|
+
$containsAllTerms: "John Smith"
|
|
223
|
+
}
|
|
224
|
+
}, {
|
|
225
|
+
office: {
|
|
226
|
+
$containsAllTerms: {
|
|
227
|
+
term: "NYC DC"
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
}, {
|
|
231
|
+
fullName: {
|
|
232
|
+
$containsAllTerms: {
|
|
233
|
+
term: "John Smith",
|
|
234
|
+
fuzzySearch: false
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
}, {
|
|
238
|
+
// @ts-expect-error
|
|
239
|
+
fullName: {
|
|
240
|
+
$containsAllTerms: {
|
|
241
|
+
fuzzySearch: false
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
}]
|
|
245
|
+
});
|
|
246
|
+
client(Employee).where({
|
|
247
|
+
$or: [{
|
|
248
|
+
fullName: {
|
|
249
|
+
$containsAnyTerm: "John Smith"
|
|
250
|
+
}
|
|
251
|
+
}, {
|
|
252
|
+
office: {
|
|
253
|
+
$containsAnyTerm: {
|
|
254
|
+
term: "NYC DC"
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}, {
|
|
258
|
+
fullName: {
|
|
259
|
+
$containsAnyTerm: {
|
|
260
|
+
term: "John Smith",
|
|
261
|
+
fuzzySearch: false
|
|
262
|
+
}
|
|
263
|
+
}
|
|
264
|
+
}, {
|
|
265
|
+
// @ts-expect-error
|
|
266
|
+
fullName: {
|
|
267
|
+
$containsAnyTerm: {
|
|
268
|
+
fuzzySearch: false
|
|
269
|
+
}
|
|
270
|
+
}
|
|
271
|
+
}]
|
|
272
|
+
});
|
|
273
|
+
client(BarInterface).where({
|
|
274
|
+
// @ts-expect-error
|
|
275
|
+
nonExistentProp: ""
|
|
276
|
+
});
|
|
277
|
+
});
|
|
215
278
|
describe.each(["fetchPage", "fetchPageWithErrors"])("%s", k => {
|
|
216
279
|
// describe("strictNonNull: \"drop\"", () => {
|
|
217
280
|
// describe("includeRid: true", () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ObjectSet.test.js","names":["isOk","$ontologyRid","BarInterface","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","employeeResult","fetchOneWithErrors","value","$select","branded","toEqualTypeOf","rejects","toThrow","employee2","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"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 */\nimport { isOk } from \"@osdk/api\";\nimport { $ontologyRid, BarInterface, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\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 let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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 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 expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\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 expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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 if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%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 // 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 // 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 // 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 describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%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 };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\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 const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ObjectSet.test.js","names":["isOk","$ontologyRid","BarInterface","Employee","FooInterface","Office","apiServer","stubData","afterAll","beforeAll","describe","expect","expectTypeOf","it","createClient","client","listen","close","employeeObjectSet","officeObjectSet","union","subtract","intersect","objectSet","unionedObjectSet","iter","data","employees","fetchPage","emp","employeeId","toEqual","objectSet2","where","subtractedObjectSet","intersectedObjectSet","$orderBy","toMatchObject","$apiName","$objectType","$primaryKey","class","employeeStatus","anything","employeeSensor","fullName","office","startDate","employeeLocation","$title","employee","fetchOne","employee1","toMatchTypeOf","toBe","employeeResult","fetchOneWithErrors","value","$select","branded","toEqualTypeOf","rejects","toThrow","employee2","pivotTo","result","fetchPageWithErrors","$in","toBeDefined","employeeIdNonExistent","nonExistentProp","$or","$containsAllTerms","term","fuzzySearch","$containsAnyTerm","each","k","opts","$__EXPERIMENTAL_strictNonNull","$includeRid","toHaveLength","not","toBeUndefined","empNotStrict","cheesedFooNotStrict","$as","fooSpt"],"sources":["ObjectSet.test.js"],"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 */\nimport { isOk } from \"@osdk/api\";\nimport { $ontologyRid, BarInterface, Employee, FooInterface, Office, } from \"@osdk/client.test.ontology\";\nimport { apiServer, stubData } from \"@osdk/shared.test\";\nimport { afterAll, beforeAll, describe, expect, expectTypeOf, it, } from \"vitest\";\nimport { createClient } from \"../createClient.js\";\ndescribe(\"ObjectSet\", () => {\n let client;\n beforeAll(async () => {\n apiServer.listen();\n client = createClient(\"https://stack.palantir.com\", $ontologyRid, async () => \"myAccessToken\");\n });\n afterAll(() => {\n apiServer.close();\n });\n it(\"does not allow intersect/union/subtract with different object types\", () => {\n const employeeObjectSet = client(Employee);\n const officeObjectSet = client(Office);\n // @ts-expect-error\n employeeObjectSet.union(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.subtract(officeObjectSet);\n // @ts-expect-error\n employeeObjectSet.intersect(officeObjectSet);\n });\n it(\"can be cast bidirectionally\", () => {\n function takesOldStyleObjectSet(os) {\n return os;\n }\n function takesNewStyleObjectSet(os) {\n return os;\n }\n function maybe() {\n const newStyleObjectSet = client(Employee);\n const oldStyleObjectSet = newStyleObjectSet;\n takesOldStyleObjectSet(newStyleObjectSet);\n takesNewStyleObjectSet(newStyleObjectSet);\n takesOldStyleObjectSet(oldStyleObjectSet);\n takesNewStyleObjectSet(oldStyleObjectSet);\n }\n if (false) {\n // here for a simple type check\n maybe();\n }\n });\n it(\"objects set union\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const { data: employees } = await unionedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\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 let iter = 0;\n const { data: employees } = await subtractedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50031 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n });\n it(\"objects set intersect\", async () => {\n const objectSet = client(Employee);\n const intersectedObjectSet = objectSet.intersect(objectSet);\n let iter = 0;\n const { data: employees } = await intersectedObjectSet.fetchPage();\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50032);\n iter += 1;\n }\n expect(iter).toEqual(1);\n });\n it(\"orders objects in ascending order without a filter, and returns all results\", async () => {\n const { data: employees } = await client(Employee)\n .fetchPage({\n $orderBy: { \"employeeId\": \"asc\" },\n });\n expect(employees).toMatchObject([\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50030,\n class: \"Red\",\n employeeId: 50030,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"John Doe\",\n office: \"NYC\",\n startDate: \"2019-01-01\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50031,\n $title: \"Jane Doe\",\n class: \"Blue\",\n employeeId: 50031,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jane Doe\",\n office: \"SEA\",\n startDate: \"2012-02-12\",\n employeeLocation: expect.anything(),\n },\n {\n $apiName: \"Employee\",\n $objectType: \"Employee\",\n $primaryKey: 50032,\n $title: \"Jack Smith\",\n class: \"Red\",\n employeeId: 50032,\n employeeStatus: expect.anything(),\n employeeSensor: expect.anything(),\n fullName: \"Jack Smith\",\n office: \"LON\",\n startDate: \"2015-05-15\",\n employeeLocation: expect.anything(),\n },\n ]);\n });\n it(\"allows fetching by PK from a base object set - fetchOne\", async () => {\n const employee = await client(Employee).fetchOne(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n });\n it(\"allows fetching by PK from a base object set - fetchOneWithErrors\", async () => {\n const employeeResult = await client(Employee)\n .fetchOneWithErrors(stubData.employee1.employeeId);\n expectTypeOf().toMatchTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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(stubData.employee1.employeeId, { $select: [\"fullName\"] });\n expectTypeOf().branded.toEqualTypeOf;\n if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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 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 expectTypeOf().branded.toEqualTypeOf;\n expect(\"error\" in employeeResult);\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 expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\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 if (isOk(employeeResult)) {\n const employee = employeeResult.value;\n expect(employee.$primaryKey).toBe(stubData.employee1.employeeId);\n }\n });\n it(\" object set union works with fetchPageWithErrors\", async () => {\n const objectSet = client(Employee);\n const unionedObjectSet = objectSet.union(objectSet);\n let iter = 0;\n const result = await unionedObjectSet.fetchPageWithErrors();\n if (isOk(result)) {\n const employees = result.value.data;\n for (const emp of employees) {\n expect(emp.employeeId).toEqual(50030 + iter);\n iter += 1;\n }\n expect(iter).toEqual(2);\n }\n });\n it(\"allows $in filter with ReadonlyArrays\", () => {\n const ids = [50030, 50031];\n const objectSet = client(Employee).where({\n employeeId: { $in: ids },\n });\n expect(objectSet).toBeDefined();\n });\n it(\"does not allow arbitrary keys when no properties\", () => {\n const ids = [50030, 50031];\n client(Employee).where({\n // @ts-expect-error\n employeeIdNonExistent: { $in: ids },\n });\n client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n it(\"type checking containsallterm and containsanyterm\", () => {\n const ids = [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 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 client(BarInterface).where({\n // @ts-expect-error\n nonExistentProp: \"\",\n });\n });\n describe.each([\"fetchPage\", \"fetchPageWithErrors\"])(\"%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 // 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 // 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 // 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 describe(\"strictNonNull: false\", () => {\n describe(\"includeRid: true\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: true,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $includeRid: false,\n };\n const result = k === \"fetchPage\"\n ? await client(Employee).fetchPage(opts)\n : (await client(Employee).fetchPageWithErrors(opts)).value;\n expect(result.data).toHaveLength(4);\n expectTypeOf(result.data[0]).branded.toEqualTypeOf();\n });\n });\n });\n });\n describe.each([\"fetchOne\", \"fetchOneWithErrors\"])(\"%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 };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\n });\n });\n describe(\"includeRid: false\", () => {\n it(\"returns bad data\", async () => {\n const opts = {\n $__EXPERIMENTAL_strictNonNull: false,\n $includeRid: false,\n };\n const result = k === \"fetchOne\"\n ? await client(Employee).fetchOne(50033, opts)\n : (await client(Employee).fetchOneWithErrors(50033, opts)).value;\n expect(result).not.toBeUndefined();\n expectTypeOf(result).branded.toEqualTypeOf();\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 const empNotStrict = result.data[0];\n const empNotStrict2 = empNotStrict;\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict).branded.toEqualTypeOf();\n expectTypeOf(empNotStrict.employeeId).toEqualTypeOf();\n expectTypeOf(empNotStrict2.employeeId).toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n expectTypeOf()\n .toEqualTypeOf();\n const CheesedFoo = FooInterface;\n const cheesedFooNotStrict = result.data[0].$as(CheesedFoo);\n expectTypeOf(cheesedFooNotStrict).branded.toEqualTypeOf();\n cheesedFooNotStrict.fooSpt;\n });\n });\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
*/
|
|
16
16
|
import WebSocket from "isomorphic-ws";
|
|
17
17
|
import invariant from "tiny-invariant";
|
|
18
|
-
import { convertWireToOsdkObjects } from "../object/convertWireToOsdkObjects.js";
|
|
19
18
|
const MINIMUM_RECONNECT_DELAY_MS = 5 * 1000;
|
|
20
19
|
/** Noop function to reduce conditional checks */
|
|
21
20
|
function doNothing() {}
|
|
@@ -80,22 +79,30 @@ export class ObjectSetListenerWebsocket {
|
|
|
80
79
|
!(client.baseUrl.startsWith("https://") || client.baseUrl.startsWith("http://")) ? process.env.NODE_ENV !== "production" ? invariant(false, "Stack must be a URL") : invariant(false) : void 0;
|
|
81
80
|
}
|
|
82
81
|
async subscribe(objectType, objectSet, listener, properties = []) {
|
|
83
|
-
const objDef = await this.#client.ontologyProvider.getObjectDefinition(objectType.apiName);
|
|
84
|
-
|
|
85
|
-
|
|
82
|
+
const objDef = objectType.type === "object" ? await this.#client.ontologyProvider.getObjectDefinition(objectType.apiName) : await this.#client.ontologyProvider.getInterfaceDefinition(objectType.apiName);
|
|
83
|
+
let objectProperties = [];
|
|
84
|
+
let referenceProperties = [];
|
|
85
|
+
if (objectType.type === "object") {
|
|
86
|
+
if (properties.length === 0) {
|
|
87
|
+
properties = Object.keys(objDef.properties);
|
|
88
|
+
}
|
|
89
|
+
objectProperties = properties.filter(p => objDef.properties[p].type !== "geotimeSeriesReference");
|
|
90
|
+
referenceProperties = properties.filter(p => objDef.properties[p].type === "geotimeSeriesReference");
|
|
91
|
+
} else {
|
|
92
|
+
objectProperties = [];
|
|
93
|
+
referenceProperties = properties;
|
|
86
94
|
}
|
|
87
|
-
const objectProperties = properties.filter(p => objDef.properties[p].type !== "geotimeSeriesReference");
|
|
88
|
-
const referenceProperties = properties.filter(p => objDef.properties[p].type === "geotimeSeriesReference");
|
|
89
95
|
const sub = {
|
|
90
96
|
listener: fillOutListener(listener),
|
|
91
97
|
objectSet,
|
|
92
|
-
primaryKeyPropertyName: objDef.primaryKeyApiName,
|
|
98
|
+
primaryKeyPropertyName: objDef.type === "interface" ? undefined : objDef.primaryKeyApiName,
|
|
93
99
|
requestedProperties: objectProperties,
|
|
94
100
|
requestedReferenceProperties: referenceProperties,
|
|
95
101
|
status: "preparing",
|
|
96
102
|
// Since we don't have a real subscription id yet but we need to keep
|
|
97
103
|
// track of this reference, we can just use a random uuid.
|
|
98
|
-
subscriptionId: `TMP-${crypto.randomUUID()}
|
|
104
|
+
subscriptionId: `TMP-${crypto.randomUUID()}`,
|
|
105
|
+
interfaceApiName: objDef.type === "object" ? undefined : objDef.apiName
|
|
99
106
|
};
|
|
100
107
|
this.#subscriptions.set(sub.subscriptionId, sub);
|
|
101
108
|
// actually prepares the subscription, ensures the ws is ready, and sends
|
|
@@ -160,7 +167,8 @@ export class ObjectSetListenerWebsocket {
|
|
|
160
167
|
requests: readySubs.map(({
|
|
161
168
|
objectSet,
|
|
162
169
|
requestedProperties,
|
|
163
|
-
requestedReferenceProperties
|
|
170
|
+
requestedReferenceProperties,
|
|
171
|
+
interfaceApiName
|
|
164
172
|
}) => {
|
|
165
173
|
return {
|
|
166
174
|
objectSet: objectSet,
|
|
@@ -215,8 +223,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
215
223
|
baseUrl,
|
|
216
224
|
tokenProvider
|
|
217
225
|
} = this.#client;
|
|
218
|
-
const
|
|
219
|
-
const url = `wss://${base.host}/api/v2/ontologySubscriptions/ontologies/${this.#client.ontologyRid}/streamSubscriptions`;
|
|
226
|
+
const url = constructWebsocketUrl(baseUrl, this.#client.ontologyRid);
|
|
220
227
|
const token = await tokenProvider();
|
|
221
228
|
// tokenProvider is async, there could potentially be a race to create the websocket.
|
|
222
229
|
// Only the first call to reach here will find a null this.#ws, the rest will bail out
|
|
@@ -298,12 +305,12 @@ export class ObjectSetListenerWebsocket {
|
|
|
298
305
|
const objectUpdates = payload.updates.filter(update => update.type === "object");
|
|
299
306
|
const referenceUpdates = payload.updates.filter(update => update.type === "reference");
|
|
300
307
|
const osdkObjectsWithReferenceUpdates = await Promise.all(referenceUpdates.map(async o => {
|
|
301
|
-
const osdkObjectArray = await
|
|
308
|
+
const osdkObjectArray = await this.#client.objectFactory(this.#client, [{
|
|
302
309
|
__apiName: o.objectType,
|
|
303
|
-
__primaryKey: o.primaryKey[sub.primaryKeyPropertyName],
|
|
310
|
+
__primaryKey: sub.primaryKeyPropertyName != null ? o.primaryKey[sub.primaryKeyPropertyName] : undefined,
|
|
304
311
|
...o.primaryKey,
|
|
305
312
|
[o.property]: o.value
|
|
306
|
-
}],
|
|
313
|
+
}], sub.interfaceApiName);
|
|
307
314
|
const singleOsdkObject = osdkObjectArray[0] ?? undefined;
|
|
308
315
|
return singleOsdkObject != null ? {
|
|
309
316
|
object: singleOsdkObject,
|
|
@@ -320,7 +327,7 @@ export class ObjectSetListenerWebsocket {
|
|
|
320
327
|
for (const key of keysToDelete) {
|
|
321
328
|
delete o.object[key];
|
|
322
329
|
}
|
|
323
|
-
const osdkObjectArray = await this.#client.objectFactory(this.#client, [o.object],
|
|
330
|
+
const osdkObjectArray = await this.#client.objectFactory(this.#client, [o.object], sub.interfaceApiName);
|
|
324
331
|
const singleOsdkObject = osdkObjectArray[0] ?? undefined;
|
|
325
332
|
return singleOsdkObject != null ? {
|
|
326
333
|
object: singleOsdkObject,
|
|
@@ -419,4 +426,11 @@ export class ObjectSetListenerWebsocket {
|
|
|
419
426
|
}
|
|
420
427
|
};
|
|
421
428
|
}
|
|
429
|
+
/** @internal */
|
|
430
|
+
export function constructWebsocketUrl(baseUrl, ontologyRid) {
|
|
431
|
+
const base = new URL(baseUrl);
|
|
432
|
+
const url = new URL(`api/v2/ontologySubscriptions/ontologies/${ontologyRid}/streamSubscriptions`, base);
|
|
433
|
+
url.protocol = url.protocol.replace("https", "wss");
|
|
434
|
+
return url;
|
|
435
|
+
}
|
|
422
436
|
//# sourceMappingURL=ObjectSetListenerWebsocket.js.map
|