@osdk/client 0.20.0-beta.3 → 0.20.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.
- package/CHANGELOG.md +28 -5
- package/build/browser/{chunk-M3BF5ESV.js → chunk-3ZYIZQ7V.js} +290 -8
- package/build/browser/chunk-3ZYIZQ7V.js.map +1 -0
- package/build/browser/index.js +2 -2
- package/build/browser/public/unstable-do-not-use.js +2 -2
- package/build/browser/public/unstable-do-not-use.js.map +1 -1
- package/build/cjs/{chunk-EP4KLU3N.cjs → chunk-4FXEPHWC.cjs} +290 -8
- package/build/cjs/chunk-4FXEPHWC.cjs.map +1 -0
- package/build/cjs/index.cjs +5 -5
- package/build/cjs/public/unstable-do-not-use.cjs +8 -8
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/esm/Client.d.ts +3 -2
- package/build/esm/Client.d.ts.map +1 -1
- package/build/esm/{chunk-JRG5V55N.js → chunk-MD6R46EZ.js} +290 -8
- package/build/esm/chunk-MD6R46EZ.js.map +1 -0
- package/build/esm/createClient.d.ts.map +1 -1
- package/build/esm/index.js +2 -2
- package/build/esm/object/Cache.d.ts +1 -1
- package/build/esm/object/SimpleCache.d.ts +1 -1
- package/build/esm/objectSet/createObjectSet.d.ts.map +1 -1
- package/build/esm/ontology/loadFullObjectMetadata.d.ts +1 -1
- package/build/esm/ontology/loadFullObjectMetadata.d.ts.map +1 -1
- package/build/esm/ontology/loadInterfaceDefinition.d.ts +1 -1
- package/build/esm/ontology/loadInterfaceDefinition.d.ts.map +1 -1
- package/build/esm/public/unstable-do-not-use.js +2 -2
- package/build/esm/public/unstable-do-not-use.js.map +1 -1
- package/build/esm/queries/applyQuery.d.ts +6 -0
- package/build/esm/queries/applyQuery.d.ts.map +1 -0
- package/build/esm/queries/createQueryInvoker.d.ts +5 -0
- package/build/esm/queries/createQueryInvoker.d.ts.map +1 -0
- package/build/esm/queries/queries.test.d.ts +2 -0
- package/build/esm/queries/queries.test.d.ts.map +1 -0
- package/build/esm/util/isOsdkBaseObject.d.ts +3 -0
- package/build/esm/util/isOsdkBaseObject.d.ts.map +1 -0
- package/build/esm/util/isOsdkObject.d.ts +3 -0
- package/build/esm/util/isOsdkObject.d.ts.map +1 -0
- package/build/esm/util/toDataValue.d.ts.map +1 -1
- package/build/esm/util/toDataValueQueries.d.ts +10 -0
- package/build/esm/util/toDataValueQueries.d.ts.map +1 -0
- package/package.json +22 -15
- package/build/browser/chunk-M3BF5ESV.js.map +0 -1
- package/build/cjs/chunk-EP4KLU3N.cjs.map +0 -1
- package/build/esm/chunk-JRG5V55N.js.map +0 -1
|
@@ -1250,6 +1250,7 @@ function createObjectSet(objectType, clientCtx, objectSet = {
|
|
|
1250
1250
|
const result = await base.fetchPage({
|
|
1251
1251
|
$nextPageToken
|
|
1252
1252
|
});
|
|
1253
|
+
$nextPageToken = result.nextPageToken;
|
|
1253
1254
|
for (const obj of result.data) {
|
|
1254
1255
|
yield obj;
|
|
1255
1256
|
}
|
|
@@ -1606,7 +1607,7 @@ function applyFetchArgs(args, body) {
|
|
|
1606
1607
|
async function fetchObjectPage(client, objectType, args, objectSet) {
|
|
1607
1608
|
const r = await esm_exports2.OntologyObjectSets.loadObjectSetV2(addUserAgent(client, objectType), await client.ontologyRid, applyFetchArgs(args, {
|
|
1608
1609
|
objectSet,
|
|
1609
|
-
// We have to do the following case because LoadObjectSetRequestV2
|
|
1610
|
+
// We have to do the following case because LoadObjectSetRequestV2 isn't readonly
|
|
1610
1611
|
select: args?.$select ?? [],
|
|
1611
1612
|
// FIXME?
|
|
1612
1613
|
excludeRid: !args?.$includeRid
|
|
@@ -1635,6 +1636,11 @@ function isOntologyObjectV2(o) {
|
|
|
1635
1636
|
return o && typeof o === "object" && typeof o.__apiName === "string" && o.__primaryKey != null;
|
|
1636
1637
|
}
|
|
1637
1638
|
|
|
1639
|
+
// src/util/isOsdkObject.ts
|
|
1640
|
+
function isOsdkBaseObject(o) {
|
|
1641
|
+
return o && typeof o === "object" && typeof o.$apiName === "string" && o.$primaryKey != null;
|
|
1642
|
+
}
|
|
1643
|
+
|
|
1638
1644
|
// src/util/toDataValue.ts
|
|
1639
1645
|
async function toDataValue(value, client) {
|
|
1640
1646
|
if (value == null) {
|
|
@@ -1656,6 +1662,9 @@ async function toDataValue(value, client) {
|
|
|
1656
1662
|
if (isOntologyObjectV2(value)) {
|
|
1657
1663
|
return await toDataValue(value.__primaryKey, client);
|
|
1658
1664
|
}
|
|
1665
|
+
if (isOsdkBaseObject(value)) {
|
|
1666
|
+
return await toDataValue(value.$primaryKey, client);
|
|
1667
|
+
}
|
|
1659
1668
|
if (isWireObjectSet(value)) {
|
|
1660
1669
|
return value;
|
|
1661
1670
|
}
|
|
@@ -1717,19 +1726,19 @@ async function remapBatchActionParams(params, client) {
|
|
|
1717
1726
|
}));
|
|
1718
1727
|
return remappedParams;
|
|
1719
1728
|
}
|
|
1720
|
-
async function loadFullObjectMetadata(client,
|
|
1721
|
-
const full = await esm_exports2.OntologyObjectsV2.getObjectTypeFullMetadata(client, await client.ontologyRid,
|
|
1729
|
+
async function loadFullObjectMetadata(client, objectType) {
|
|
1730
|
+
const full = await esm_exports2.OntologyObjectsV2.getObjectTypeFullMetadata(client, await client.ontologyRid, objectType, {
|
|
1722
1731
|
preview: true
|
|
1723
1732
|
});
|
|
1724
1733
|
const ret = generatorConverters.wireObjectTypeFullMetadataToSdkObjectTypeDefinition(full, true);
|
|
1725
|
-
client.logger?.debug(`END loadFullObjectMetadata(${
|
|
1734
|
+
client.logger?.debug(`END loadFullObjectMetadata(${objectType})`);
|
|
1726
1735
|
return {
|
|
1727
1736
|
...ret,
|
|
1728
1737
|
rid: full.objectType.rid
|
|
1729
1738
|
};
|
|
1730
1739
|
}
|
|
1731
|
-
async function loadInterfaceDefinition(client,
|
|
1732
|
-
const r = await esm_exports2.OntologyObjectsV2.getInterfaceType(client, await client.ontologyRid,
|
|
1740
|
+
async function loadInterfaceDefinition(client, objectType) {
|
|
1741
|
+
const r = await esm_exports2.OntologyObjectsV2.getInterfaceType(client, await client.ontologyRid, objectType, {
|
|
1733
1742
|
preview: true
|
|
1734
1743
|
});
|
|
1735
1744
|
return generatorConverters.__UNSTABLE_wireInterfaceTypeV2ToSdkObjectDefinition(r, true);
|
|
@@ -1770,7 +1779,7 @@ var createStandardOntologyProviderFactory = (client) => {
|
|
|
1770
1779
|
};
|
|
1771
1780
|
|
|
1772
1781
|
// src/util/UserAgent.ts
|
|
1773
|
-
var USER_AGENT = `osdk-client/${"0.20.0-beta.
|
|
1782
|
+
var USER_AGENT = `osdk-client/${"0.20.0-beta.4"}`;
|
|
1774
1783
|
|
|
1775
1784
|
// src/createMinimalClient.ts
|
|
1776
1785
|
function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fetchFn = global.fetch, objectSetFactory = createObjectSet) {
|
|
@@ -1794,6 +1803,277 @@ function createMinimalClient(metadata, baseUrl, tokenProvider, options = {}, fet
|
|
|
1794
1803
|
});
|
|
1795
1804
|
}
|
|
1796
1805
|
|
|
1806
|
+
// src/util/isOsdkBaseObject.ts
|
|
1807
|
+
function isOsdkBaseObject2(o) {
|
|
1808
|
+
return o && typeof o === "object" && typeof o.$apiName === "string" && o.$primaryKey != null;
|
|
1809
|
+
}
|
|
1810
|
+
|
|
1811
|
+
// src/util/toDataValueQueries.ts
|
|
1812
|
+
async function toDataValueQueries(value, client, desiredType) {
|
|
1813
|
+
if (value == null) {
|
|
1814
|
+
return value;
|
|
1815
|
+
}
|
|
1816
|
+
if (Array.isArray(value) && desiredType.multiplicity) {
|
|
1817
|
+
const promiseArray = Array.from(value, async (innerValue) => await toDataValueQueries(innerValue, client, desiredType));
|
|
1818
|
+
return Promise.all(promiseArray);
|
|
1819
|
+
}
|
|
1820
|
+
switch (desiredType.type) {
|
|
1821
|
+
case "attachment": {
|
|
1822
|
+
if (isAttachmentUpload(value)) {
|
|
1823
|
+
const attachment = await esm_exports.Attachments.uploadAttachment(client, value, {
|
|
1824
|
+
filename: value.name
|
|
1825
|
+
}, {
|
|
1826
|
+
"Content-Length": value.size.toString(),
|
|
1827
|
+
"Content-Type": value.type
|
|
1828
|
+
});
|
|
1829
|
+
return attachment.rid;
|
|
1830
|
+
}
|
|
1831
|
+
return value;
|
|
1832
|
+
}
|
|
1833
|
+
case "twoDimensionalAggregation": {
|
|
1834
|
+
return {
|
|
1835
|
+
groups: value
|
|
1836
|
+
};
|
|
1837
|
+
}
|
|
1838
|
+
case "threeDimensionalAggregation": {
|
|
1839
|
+
return {
|
|
1840
|
+
groups: value
|
|
1841
|
+
};
|
|
1842
|
+
}
|
|
1843
|
+
case "set": {
|
|
1844
|
+
if (value instanceof Set) {
|
|
1845
|
+
const promiseArray = Array.from(value, async (innerValue) => await toDataValueQueries(innerValue, client, desiredType["set"]));
|
|
1846
|
+
return Promise.all(promiseArray);
|
|
1847
|
+
}
|
|
1848
|
+
break;
|
|
1849
|
+
}
|
|
1850
|
+
case "object": {
|
|
1851
|
+
if (isOsdkBaseObject2(value)) {
|
|
1852
|
+
return value.$primaryKey;
|
|
1853
|
+
}
|
|
1854
|
+
break;
|
|
1855
|
+
}
|
|
1856
|
+
case "objectSet": {
|
|
1857
|
+
if (isWireObjectSet(value)) {
|
|
1858
|
+
return value;
|
|
1859
|
+
}
|
|
1860
|
+
if (isObjectSet(value)) {
|
|
1861
|
+
return getWireObjectSet(value);
|
|
1862
|
+
}
|
|
1863
|
+
break;
|
|
1864
|
+
}
|
|
1865
|
+
case "struct": {
|
|
1866
|
+
if (typeof value === "object") {
|
|
1867
|
+
const structMap = {};
|
|
1868
|
+
for (const [key, structValue] of Object.entries(value)) {
|
|
1869
|
+
structMap[key] = await toDataValueQueries(structValue, client, desiredType["struct"][key]);
|
|
1870
|
+
}
|
|
1871
|
+
return structMap;
|
|
1872
|
+
}
|
|
1873
|
+
}
|
|
1874
|
+
case "boolean":
|
|
1875
|
+
case "date":
|
|
1876
|
+
case "double":
|
|
1877
|
+
case "float":
|
|
1878
|
+
case "integer":
|
|
1879
|
+
case "long":
|
|
1880
|
+
case "string":
|
|
1881
|
+
case "timestamp":
|
|
1882
|
+
return value;
|
|
1883
|
+
}
|
|
1884
|
+
return value;
|
|
1885
|
+
}
|
|
1886
|
+
|
|
1887
|
+
// src/queries/applyQuery.ts
|
|
1888
|
+
async function applyQuery(client, query, params) {
|
|
1889
|
+
const response = await esm_exports2.QueryTypes.executeQueryV2(addUserAgent(client, query), await client.ontologyRid, query.apiName, {
|
|
1890
|
+
parameters: params ? await remapQueryParams(params, client, query.parameters) : {}
|
|
1891
|
+
});
|
|
1892
|
+
const objectOutputDefs = await getRequiredDefinitions(query.output, client);
|
|
1893
|
+
const remappedResponse = await remapQueryResponse(client, query.output, response.value, objectOutputDefs);
|
|
1894
|
+
return remappedResponse;
|
|
1895
|
+
}
|
|
1896
|
+
async function remapQueryParams(params, client, paramTypes) {
|
|
1897
|
+
const parameterMap = {};
|
|
1898
|
+
for (const [key, value] of Object.entries(params)) {
|
|
1899
|
+
parameterMap[key] = await toDataValueQueries(value, client, paramTypes[key]);
|
|
1900
|
+
}
|
|
1901
|
+
return parameterMap;
|
|
1902
|
+
}
|
|
1903
|
+
async function remapQueryResponse(client, responseDataType, responseValue, definitions) {
|
|
1904
|
+
if (responseValue == null) {
|
|
1905
|
+
if (responseDataType.nullable) {
|
|
1906
|
+
return void 0;
|
|
1907
|
+
} else {
|
|
1908
|
+
throw new Error("Got null response when nullable was not allowed");
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
if (responseDataType.multiplicity != null && responseDataType.multiplicity !== false) {
|
|
1912
|
+
const withoutMultiplicity = {
|
|
1913
|
+
...responseDataType,
|
|
1914
|
+
multiplicity: false
|
|
1915
|
+
};
|
|
1916
|
+
for (let i = 0; i < responseValue.length; i++) {
|
|
1917
|
+
responseValue[i] = await remapQueryResponse(responseValue[i], withoutMultiplicity, client, definitions);
|
|
1918
|
+
}
|
|
1919
|
+
return responseValue;
|
|
1920
|
+
}
|
|
1921
|
+
switch (responseDataType.type) {
|
|
1922
|
+
case "union": {
|
|
1923
|
+
throw new Error("Union return types are not yet supported");
|
|
1924
|
+
}
|
|
1925
|
+
case "set": {
|
|
1926
|
+
for (let i = 0; i < responseValue.length; i++) {
|
|
1927
|
+
responseValue[i] = await remapQueryResponse(responseValue[i], responseDataType.set, client, definitions);
|
|
1928
|
+
}
|
|
1929
|
+
return responseValue;
|
|
1930
|
+
}
|
|
1931
|
+
case "attachment": {
|
|
1932
|
+
return createAttachmentFromRid(client, responseValue);
|
|
1933
|
+
}
|
|
1934
|
+
case "object": {
|
|
1935
|
+
const def = definitions.get(responseDataType.object);
|
|
1936
|
+
if (!def) {
|
|
1937
|
+
throw new Error(`Missing definition for ${responseDataType.object}`);
|
|
1938
|
+
}
|
|
1939
|
+
return createQueryObjectResponse(responseValue, def);
|
|
1940
|
+
}
|
|
1941
|
+
case "objectSet": {
|
|
1942
|
+
const def = definitions.get(responseDataType.objectSet);
|
|
1943
|
+
if (!def) {
|
|
1944
|
+
throw new Error(`Missing definition for ${responseDataType.objectSet}`);
|
|
1945
|
+
}
|
|
1946
|
+
if (typeof responseValue === "string") {
|
|
1947
|
+
return createObjectSet(def, client, {
|
|
1948
|
+
type: "intersect",
|
|
1949
|
+
objectSets: [{
|
|
1950
|
+
type: "base",
|
|
1951
|
+
objectType: responseDataType.objectSet
|
|
1952
|
+
}, {
|
|
1953
|
+
type: "reference",
|
|
1954
|
+
reference: responseValue
|
|
1955
|
+
}]
|
|
1956
|
+
});
|
|
1957
|
+
}
|
|
1958
|
+
return createObjectSet(def, client, responseValue);
|
|
1959
|
+
}
|
|
1960
|
+
case "struct": {
|
|
1961
|
+
for (const [key, subtype] of Object.entries(responseDataType.struct)) {
|
|
1962
|
+
if (requiresConversion(subtype)) {
|
|
1963
|
+
responseValue[key] = await remapQueryResponse(responseValue[key], subtype, client, definitions);
|
|
1964
|
+
}
|
|
1965
|
+
}
|
|
1966
|
+
return responseValue;
|
|
1967
|
+
}
|
|
1968
|
+
case "twoDimensionalAggregation": {
|
|
1969
|
+
const result = [];
|
|
1970
|
+
for (const {
|
|
1971
|
+
key,
|
|
1972
|
+
value
|
|
1973
|
+
} of responseValue.groups) {
|
|
1974
|
+
result.push({
|
|
1975
|
+
key,
|
|
1976
|
+
value
|
|
1977
|
+
});
|
|
1978
|
+
}
|
|
1979
|
+
return result;
|
|
1980
|
+
}
|
|
1981
|
+
case "threeDimensionalAggregation": {
|
|
1982
|
+
const result = [];
|
|
1983
|
+
for (const {
|
|
1984
|
+
key,
|
|
1985
|
+
groups
|
|
1986
|
+
} of responseValue.groups) {
|
|
1987
|
+
const subResult = [];
|
|
1988
|
+
for (const {
|
|
1989
|
+
key: subKey,
|
|
1990
|
+
value
|
|
1991
|
+
} of groups) {
|
|
1992
|
+
subResult.push({
|
|
1993
|
+
key: subKey,
|
|
1994
|
+
value
|
|
1995
|
+
});
|
|
1996
|
+
}
|
|
1997
|
+
result.push({
|
|
1998
|
+
key,
|
|
1999
|
+
groups: subResult
|
|
2000
|
+
});
|
|
2001
|
+
}
|
|
2002
|
+
return result;
|
|
2003
|
+
}
|
|
2004
|
+
}
|
|
2005
|
+
return responseValue;
|
|
2006
|
+
}
|
|
2007
|
+
async function getRequiredDefinitions(dataType, client) {
|
|
2008
|
+
const result = /* @__PURE__ */ new Map();
|
|
2009
|
+
switch (dataType.type) {
|
|
2010
|
+
case "objectSet": {
|
|
2011
|
+
const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.objectSet);
|
|
2012
|
+
result.set(dataType.objectSet, objectDef);
|
|
2013
|
+
break;
|
|
2014
|
+
}
|
|
2015
|
+
case "object": {
|
|
2016
|
+
const objectDef = await client.ontologyProvider.getObjectDefinition(dataType.object);
|
|
2017
|
+
result.set(dataType.object, objectDef);
|
|
2018
|
+
break;
|
|
2019
|
+
}
|
|
2020
|
+
case "set": {
|
|
2021
|
+
return getRequiredDefinitions(dataType.set, client);
|
|
2022
|
+
}
|
|
2023
|
+
case "struct": {
|
|
2024
|
+
for (const value of Object.values(dataType.struct)) {
|
|
2025
|
+
for (const [type, objectDef] of await getRequiredDefinitions(value, client)) {
|
|
2026
|
+
result.set(type, objectDef);
|
|
2027
|
+
}
|
|
2028
|
+
}
|
|
2029
|
+
break;
|
|
2030
|
+
}
|
|
2031
|
+
}
|
|
2032
|
+
return result;
|
|
2033
|
+
}
|
|
2034
|
+
function requiresConversion(dataType) {
|
|
2035
|
+
switch (dataType.type) {
|
|
2036
|
+
case "boolean":
|
|
2037
|
+
case "date":
|
|
2038
|
+
case "double":
|
|
2039
|
+
case "float":
|
|
2040
|
+
case "integer":
|
|
2041
|
+
case "long":
|
|
2042
|
+
case "object":
|
|
2043
|
+
case "string":
|
|
2044
|
+
case "timestamp":
|
|
2045
|
+
return false;
|
|
2046
|
+
case "union":
|
|
2047
|
+
return true;
|
|
2048
|
+
case "struct":
|
|
2049
|
+
return Object.values(dataType.struct).some(requiresConversion);
|
|
2050
|
+
case "set":
|
|
2051
|
+
return requiresConversion(dataType.set);
|
|
2052
|
+
case "attachment":
|
|
2053
|
+
case "objectSet":
|
|
2054
|
+
case "twoDimensionalAggregation":
|
|
2055
|
+
case "threeDimensionalAggregation":
|
|
2056
|
+
return true;
|
|
2057
|
+
default:
|
|
2058
|
+
return false;
|
|
2059
|
+
}
|
|
2060
|
+
}
|
|
2061
|
+
function createQueryObjectResponse(primaryKey, objectDef) {
|
|
2062
|
+
return {
|
|
2063
|
+
$apiName: objectDef.apiName,
|
|
2064
|
+
$title: void 0,
|
|
2065
|
+
$objectType: objectDef.apiName,
|
|
2066
|
+
$primaryKey: primaryKey
|
|
2067
|
+
};
|
|
2068
|
+
}
|
|
2069
|
+
|
|
2070
|
+
// src/queries/createQueryInvoker.ts
|
|
2071
|
+
function createQueryInvoker(client, query) {
|
|
2072
|
+
return function(...args) {
|
|
2073
|
+
return applyQuery(client, query, ...args);
|
|
2074
|
+
};
|
|
2075
|
+
}
|
|
2076
|
+
|
|
1797
2077
|
// src/createClient.ts
|
|
1798
2078
|
var ActionInvoker = class {
|
|
1799
2079
|
constructor(clientCtx, actionDef) {
|
|
@@ -1811,6 +2091,8 @@ function createClientInternal(objectSetFactory, baseUrl, ontologyRid, tokenProvi
|
|
|
1811
2091
|
} else if (o.type === "action") {
|
|
1812
2092
|
clientCtx.ontologyProvider.maybeSeed(o);
|
|
1813
2093
|
return new ActionInvoker(clientCtx, o);
|
|
2094
|
+
} else if (o.type === "query") {
|
|
2095
|
+
return createQueryInvoker(clientCtx, o);
|
|
1814
2096
|
} else {
|
|
1815
2097
|
throw new Error("not implemented");
|
|
1816
2098
|
}
|
|
@@ -1835,4 +2117,4 @@ exports.createObjectSet = createObjectSet;
|
|
|
1835
2117
|
exports.createSimpleAsyncCache = createSimpleAsyncCache;
|
|
1836
2118
|
exports.esm_exports = esm_exports2;
|
|
1837
2119
|
//# sourceMappingURL=out.js.map
|
|
1838
|
-
//# sourceMappingURL=chunk-
|
|
2120
|
+
//# sourceMappingURL=chunk-4FXEPHWC.cjs.map
|