@osdk/client 2.5.0-beta.7 → 2.5.0-beta.9
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 +22 -0
- package/build/browser/object/fetchPage.js +71 -25
- package/build/browser/object/fetchPage.js.map +1 -1
- package/build/browser/object/fetchPage.test.js +35 -1
- package/build/browser/object/fetchPage.test.js.map +1 -1
- package/build/browser/observable/internal/list/InterfaceListQuery.js +83 -0
- package/build/browser/observable/internal/list/InterfaceListQuery.js.map +1 -0
- package/build/browser/observable/internal/list/ListQuery.js +33 -108
- package/build/browser/observable/internal/list/ListQuery.js.map +1 -1
- package/build/browser/observable/internal/list/ListsHelper.js +4 -2
- package/build/browser/observable/internal/list/ListsHelper.js.map +1 -1
- package/build/browser/observable/internal/list/ObjectListQuery.js +48 -0
- package/build/browser/observable/internal/list/ObjectListQuery.js.map +1 -0
- package/build/browser/util/UserAgent.js +2 -2
- package/build/cjs/{chunk-BY2PQEYA.cjs → chunk-HCCGD2AP.cjs} +54 -54
- package/build/cjs/{chunk-BY2PQEYA.cjs.map → chunk-HCCGD2AP.cjs.map} +1 -1
- package/build/cjs/{chunk-5KDG5ZET.cjs → chunk-MKL3HEQ5.cjs} +251 -210
- package/build/cjs/chunk-MKL3HEQ5.cjs.map +1 -0
- package/build/cjs/index.cjs +7 -7
- package/build/cjs/public/internal.cjs +8 -8
- package/build/cjs/public/unstable-do-not-use.cjs +126 -103
- package/build/cjs/public/unstable-do-not-use.cjs.map +1 -1
- package/build/esm/object/fetchPage.js +71 -25
- package/build/esm/object/fetchPage.js.map +1 -1
- package/build/esm/object/fetchPage.test.js +35 -1
- package/build/esm/object/fetchPage.test.js.map +1 -1
- package/build/esm/observable/internal/list/InterfaceListQuery.js +83 -0
- package/build/esm/observable/internal/list/InterfaceListQuery.js.map +1 -0
- package/build/esm/observable/internal/list/ListQuery.js +33 -108
- package/build/esm/observable/internal/list/ListQuery.js.map +1 -1
- package/build/esm/observable/internal/list/ListsHelper.js +4 -2
- package/build/esm/observable/internal/list/ListsHelper.js.map +1 -1
- package/build/esm/observable/internal/list/ObjectListQuery.js +48 -0
- package/build/esm/observable/internal/list/ObjectListQuery.js.map +1 -0
- package/build/esm/util/UserAgent.js +2 -2
- package/build/types/observable/internal/list/InterfaceListQuery.d.ts +18 -0
- package/build/types/observable/internal/list/InterfaceListQuery.d.ts.map +1 -0
- package/build/types/observable/internal/list/ListQuery.d.ts +37 -6
- package/build/types/observable/internal/list/ListQuery.d.ts.map +1 -1
- package/build/types/observable/internal/list/ListsHelper.d.ts +1 -1
- package/build/types/observable/internal/list/ListsHelper.d.ts.map +1 -1
- package/build/types/observable/internal/list/ObjectListQuery.d.ts +18 -0
- package/build/types/observable/internal/list/ObjectListQuery.d.ts.map +1 -0
- package/package.json +7 -7
- package/build/cjs/chunk-5KDG5ZET.cjs.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { Osdk, PageResult } from "@osdk/api";
|
|
1
|
+
import type { Logger, ObjectOrInterfaceDefinition, ObjectSet, ObjectTypeDefinition, Osdk, PageResult, PropertyKeys } from "@osdk/api";
|
|
2
2
|
import type { Observable, Subscription } from "rxjs";
|
|
3
3
|
import type { InterfaceHolder } from "../../../object/convertWireToOsdkObjects/InterfaceHolder.js";
|
|
4
4
|
import type { ObjectHolder } from "../../../object/convertWireToOsdkObjects/ObjectHolder.js";
|
|
@@ -26,21 +26,26 @@ type ExtractRelevantObjectsResult = Record<"added" | "modified", {
|
|
|
26
26
|
sortaMatches: Set<(ObjectHolder | InterfaceHolder)>
|
|
27
27
|
}>;
|
|
28
28
|
/**
|
|
29
|
-
*
|
|
29
|
+
* Base class for filtered and sorted object collection queries.
|
|
30
30
|
* - Handles where clause filtering and orderBy sorting
|
|
31
31
|
* - Manages pagination through fetchMore
|
|
32
32
|
* - Auto-updates when matching objects change
|
|
33
33
|
* - Uses canonicalized cache keys for consistency
|
|
34
34
|
*/
|
|
35
|
-
export declare class ListQuery extends BaseListQuery<ListCacheKey, ListPayload, ListQueryOptions> {
|
|
35
|
+
export declare abstract class ListQuery extends BaseListQuery<ListCacheKey, ListPayload, ListQueryOptions> {
|
|
36
36
|
#private;
|
|
37
|
+
protected apiName: string;
|
|
37
38
|
/**
|
|
38
39
|
* Register changes to the cache specific to ListQuery
|
|
39
40
|
*/
|
|
40
41
|
protected registerCacheChanges(batch: BatchContext): void;
|
|
41
|
-
constructor(store: Store, subject: Observable<SubjectPayload<ListCacheKey>>,
|
|
42
|
+
constructor(store: Store, subject: Observable<SubjectPayload<ListCacheKey>>, apiName: string, whereClause: Canonical<SimpleWhereClause>, orderBy: Canonical<Record<string, "asc" | "desc" | undefined>>, cacheKey: ListCacheKey, opts: ListQueryOptions);
|
|
42
43
|
get canonicalWhere(): Canonical<SimpleWhereClause>;
|
|
43
44
|
/**
|
|
45
|
+
* Create the ObjectSet for this query.
|
|
46
|
+
*/
|
|
47
|
+
protected abstract createObjectSet(store: Store): ObjectSet<ObjectTypeDefinition>;
|
|
48
|
+
/**
|
|
44
49
|
* Implements fetchPageData from BaseCollectionQuery template method
|
|
45
50
|
* Fetches a page of data
|
|
46
51
|
*/
|
|
@@ -56,7 +61,11 @@ export declare class ListQuery extends BaseListQuery<ListCacheKey, ListPayload,
|
|
|
56
61
|
* @param apiName to invalidate
|
|
57
62
|
* @returns
|
|
58
63
|
*/
|
|
59
|
-
revalidateObjectType
|
|
64
|
+
abstract revalidateObjectType(apiName: string): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Postprocess fetched data.
|
|
67
|
+
*/
|
|
68
|
+
protected abstract postProcessFetchedData(data: Osdk.Instance<any>[]): Promise<Osdk.Instance<any>[]>;
|
|
60
69
|
invalidateObjectType: (objectType: string, changes: Changes | undefined) => Promise<void>;
|
|
61
70
|
/**
|
|
62
71
|
* Note: This method is not async because I want it to return right after it
|
|
@@ -68,8 +77,30 @@ export declare class ListQuery extends BaseListQuery<ListCacheKey, ListPayload,
|
|
|
68
77
|
* revalidation is complete. Otherwise, undefined.
|
|
69
78
|
*/
|
|
70
79
|
maybeUpdateAndRevalidate: (changes: Changes, optimisticId: OptimisticId | undefined) => Promise<void> | undefined;
|
|
71
|
-
protected
|
|
80
|
+
protected _extractAndCategorizeRelevantObjects(changes: Changes): ExtractRelevantObjectsResult;
|
|
81
|
+
/**
|
|
82
|
+
* Extract relevant objects for this query type.
|
|
83
|
+
*/
|
|
84
|
+
protected abstract extractRelevantObjects(changes: Changes): ExtractRelevantObjectsResult;
|
|
72
85
|
registerStreamUpdates(sub: Subscription): void;
|
|
86
|
+
protected onOswSuccessfulSubscription(): void;
|
|
87
|
+
protected onOswOutOfDate(): void;
|
|
88
|
+
protected onOswError(errors: {
|
|
89
|
+
subscriptionClosed: boolean
|
|
90
|
+
error: any
|
|
91
|
+
}): void;
|
|
92
|
+
protected onOswChange({ object: objOrIface, state }: ObjectUpdate<ObjectTypeDefinition, string>): void;
|
|
93
|
+
protected onOswRemoved(objOrIface: Osdk.Instance<ObjectTypeDefinition, never, string, {}>, logger: Logger | undefined): void;
|
|
73
94
|
}
|
|
74
95
|
export declare function isListCacheKey(cacheKey: CacheKey): cacheKey is ListCacheKey;
|
|
96
|
+
/**
|
|
97
|
+
* Copied from @osdk/api
|
|
98
|
+
*/
|
|
99
|
+
type ObjectUpdate<
|
|
100
|
+
O extends ObjectOrInterfaceDefinition,
|
|
101
|
+
P extends PropertyKeys<O>
|
|
102
|
+
> = {
|
|
103
|
+
object: Osdk.Instance<O, never, P>
|
|
104
|
+
state: "ADDED_OR_UPDATED" | "REMOVED"
|
|
105
|
+
};
|
|
75
106
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,
|
|
1
|
+
{"mappings":"AAgBA,cACE,QACA,6BACA,WACA,sBACA,MACA,YACA,oBACK,WAAY;AACnB,cAAc,YAAY,oBAAoB,MAAO;AAGrD,cAAc,uBAAuB,6DAA8D;AACnG,cACE,oBACK,0DAA2D;AAClE,cAAc,mBAAmB,sBAAuB;AACxD,cAAc,cAAc,kCAAmC;AAC/D,SAAS,qBAAqB,+BAAgC;AAC9D,cAAc,oBAAoB,oBAAqB;AACvD,cAAc,gBAAgB,gBAAiB;AAC/C,cAAc,iBAAiB,iBAAkB;AACjD,cAAc,eAA4C,eAAgB;AAC1E,cAAc,aAAa,aAAc;AAGzC,cAAc,oBAAoB,oBAAqB;AACvD,cAAc,yBAAyB,yBAA0B;AAEjE,cAAc,aAAa,aAAc;AACzC,cAAc,sBAAsB,sBAAuB;AAC3D,cAAc,oBAAoB,mBAAoB;AACtD,cAAc,wBAAwB,uBAAwB;AAE9D,OAAO,cAAM,eAAe;AAC5B,OAAO,cAAM,WAAW;AACxB,OAAO,cAAM,YAAY;AACzB,OAAO,cAAM,eAAe;KAEvB,+BAA+B,OAAO,UAAU,YAAY;CAC/D,MAAM,eAAe;CACrB,eAAe,KAAK,eAAe;CACnC,cAAc,KAAK,eAAe;AACnC;;;;;;;;AASD,OAAO,uBAAe,kBAAkB,cACtC,cACA,aACA,kBACA;;CAGA,UAAU;;;;CAUV,UAAU,qBAAqBA,OAAO;CAItC,YACEC,OAAO,OACPC,SAAS,WAAW,eAAe,gBACnCC,iBACAC,aAAa,UAAU,oBACvBC,SAAS,UAAU,eAAe,QAAQ,sBAC1CC,UAAU,cACVC,MAAM;CA+BR,IAAI,kBAAkB,UAAU;;;;CAOhC,mBAAmB,gBACjBN,OAAO,QACN,UAAU;;;;;CAMb,UAAgB,cACdO,QAAQ,0BACP,QAAQ,WAAW,KAAK;;;;CA4B3B,UAAU,iBACRC,gBACAC,SAAS,QACTV,OAAO,eACN,MAAM;;;;;;;;CAgBT,SAAS,qBAAqBG,kBAAkB;;;;CAKhD,mBAAmB,uBACjBQ,MAAM,KAAK,kBACV,QAAQ,KAAK;CAEhB,uBACEC,oBACAC,SAAS,wBACR;;;;;;;;;;CAkBH,2BACEC,SAAS,SACTC,cAAc,6BACb;CAiIH,UAAU,qCACRD,SAAS,UACR;;;;CAmBH,mBAAmB,uBACjBA,SAAS,UACR;CAEH,sBAAsBE,KAAK;CAgC3B,UAAU;CAQV,UAAU;CAQV,UAAU,WAAWC,QAAQ;EAC3B;EACA;CACD;CASD,UAAU,YACR,EAAE,QAAQ,YAAY,OAAmD,EAA1C,aAAa;CA8B9C,UAAU,aACRC,YAAY,KAAK,SAAS,qCAAqC,CAAE,IACjEC,QAAQ;AA2DX;AAED,OAAO,iBAAS,eACdC,UAAU,WACT,YAAY;;;;KAOV;CACH,UAAU;CACV,UAAU,aAAa;IACrB;CACF,QAAQ,KAAK,SAAS,UAAU;CAChC,OAAO,qBAAqB;AAC7B","names":["batch: BatchContext","store: Store","subject: Observable<SubjectPayload<ListCacheKey>>","apiName: string","whereClause: Canonical<SimpleWhereClause>","orderBy: Canonical<Record<string, \"asc\" | \"desc\" | undefined>>","cacheKey: ListCacheKey","opts: ListQueryOptions","signal: AbortSignal | undefined","error: unknown","_status: Status","data: Osdk.Instance<any>[]","objectType: string","changes: Changes | undefined","changes: Changes","optimisticId: OptimisticId | undefined","sub: Subscription","errors: {\n subscriptionClosed: boolean;\n error: any;\n }","objOrIface: Osdk.Instance<ObjectTypeDefinition, never, string, {}>","logger: Logger | undefined","cacheKey: CacheKey"],"sources":["../../../../../src/observable/internal/list/ListQuery.ts"],"version":3,"file":"ListQuery.d.ts"}
|
|
@@ -9,7 +9,7 @@ import type { OrderByCanonicalizer } from "../OrderByCanonicalizer.js";
|
|
|
9
9
|
import type { QuerySubscription } from "../QuerySubscription.js";
|
|
10
10
|
import type { Store } from "../Store.js";
|
|
11
11
|
import type { WhereClauseCanonicalizer } from "../WhereClauseCanonicalizer.js";
|
|
12
|
-
import { ListQuery } from "./ListQuery.js";
|
|
12
|
+
import type { ListQuery } from "./ListQuery.js";
|
|
13
13
|
export declare class ListsHelper extends AbstractHelper<ListQuery, ObserveListOptions<ObjectTypeDefinition | InterfaceDefinition>> {
|
|
14
14
|
whereCanonicalizer: WhereClauseCanonicalizer;
|
|
15
15
|
orderByCanonicalizer: OrderByCanonicalizer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"mappings":"AAgBA,cAAc,qBAAqB,4BAA4B,WAAY;AAC3E,cAAc,mBAAmB,sBAAuB;AACxD,cAAc,0BAA0B,2BAA4B;AACpE,cAAc,gBAAgB,kCAAmC;AACjE,SAAS,sBAAsB,sBAAuB;AACtD,cAAc,iBAAiB,iBAAkB;AACjD,cAAc,qBAAqB,qBAAsB;AACzD,cAAc,4BAA4B,4BAA6B;AACvE,cAAc,yBAAyB,yBAA0B;AACjE,cAAc,aAAa,aAAc;AACzC,cAAc,gCAAgC,gCAAiC;
|
|
1
|
+
{"mappings":"AAgBA,cAAc,qBAAqB,4BAA4B,WAAY;AAC3E,cAAc,mBAAmB,sBAAuB;AACxD,cAAc,0BAA0B,2BAA4B;AACpE,cAAc,gBAAgB,kCAAmC;AACjE,SAAS,sBAAsB,sBAAuB;AACtD,cAAc,iBAAiB,iBAAkB;AACjD,cAAc,qBAAqB,qBAAsB;AACzD,cAAc,4BAA4B,4BAA6B;AACvE,cAAc,yBAAyB,yBAA0B;AACjE,cAAc,aAAa,aAAc;AACzC,cAAc,gCAAgC,gCAAiC;AAG/E,cAAc,iBAAiB,gBAAiB;AAGhD,OAAO,cAAM,oBAAoB,eAC/B,WACA,mBAAmB,uBAAuB,sBAC1C;CACA,oBAAoB;CACpB,sBAAsB;CAEtB,YACEA,OAAO,OACPC,WAAW,UAAU,gBACrBC,oBAAoB,0BACpBC,sBAAsB;CAQxB,QAAQ,UAAU,uBAAuB,qBACvCC,SAAS,mBAAmB,IAC5BC,OAAO,SAAS,eACf,kBAAkB;CASrB,SAAS,UAAU,uBAAuB,qBACxCD,SAAS,mBAAmB,KAC3B;AA4BJ","names":["store: Store","cacheKeys: CacheKeys<KnownCacheKey>","whereCanonicalizer: WhereClauseCanonicalizer","orderByCanonicalizer: OrderByCanonicalizer","options: ObserveListOptions<T>","subFn: Observer<ListPayload>"],"sources":["../../../../../src/observable/internal/list/ListsHelper.ts"],"version":3,"file":"ListsHelper.d.ts"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ObjectSet, ObjectTypeDefinition, Osdk } from "@osdk/api";
|
|
2
|
+
import type { InterfaceHolder } from "../../../object/convertWireToOsdkObjects/InterfaceHolder.js";
|
|
3
|
+
import type { ObjectHolder } from "../../../object/convertWireToOsdkObjects/ObjectHolder.js";
|
|
4
|
+
import type { Changes } from "../Changes.js";
|
|
5
|
+
import type { Store } from "../Store.js";
|
|
6
|
+
import { ListQuery } from "./ListQuery.js";
|
|
7
|
+
type ExtractRelevantObjectsResult = Record<"added" | "modified", {
|
|
8
|
+
all: (ObjectHolder | InterfaceHolder)[]
|
|
9
|
+
strictMatches: Set<(ObjectHolder | InterfaceHolder)>
|
|
10
|
+
sortaMatches: Set<(ObjectHolder | InterfaceHolder)>
|
|
11
|
+
}>;
|
|
12
|
+
export declare class ObjectListQuery extends ListQuery {
|
|
13
|
+
protected createObjectSet(store: Store): ObjectSet<ObjectTypeDefinition>;
|
|
14
|
+
revalidateObjectType(apiName: string): Promise<void>;
|
|
15
|
+
protected postProcessFetchedData(data: Osdk.Instance<any>[]): Promise<Osdk.Instance<any>[]>;
|
|
16
|
+
protected extractRelevantObjects(changes: Changes): ExtractRelevantObjectsResult;
|
|
17
|
+
}
|
|
18
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"mappings":"AAgBA,cAAc,WAAW,sBAAsB,YAAY,WAAY;AACvE,cAAc,uBAAuB,6DAA8D;AACnG,cAAc,oBAAoB,0DAA2D;AAC7F,cAAc,eAAe,eAAgB;AAC7C,cAAc,aAAa,aAAc;AACzC,SAAuB,iBAAiB,gBAAiB;KAEpD,+BAA+B,OAAO,UAAU,YAAY;CAC/D,MAAM,eAAe;CACrB,eAAe,KAAK,eAAe;CACnC,cAAc,KAAK,eAAe;AACnC;AAED,OAAO,cAAM,wBAAwB,UAAU;CAC7C,UAAU,gBAAgBA,OAAO,QAAQ,UAAU;CAQnD,AAAM,qBAAqBC,kBAAkB;CAM7C,UAAU,uBACRC,MAAM,KAAK,kBACV,QAAQ,KAAK;CAIhB,UAAU,uBACRC,SAAS,UACR;AAgBJ","names":["store: Store","apiName: string","data: Osdk.Instance<any>[]","changes: Changes"],"sources":["../../../../../src/observable/internal/list/ObjectListQuery.ts"],"version":3,"file":"ObjectListQuery.d.ts"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osdk/client",
|
|
3
|
-
"version": "2.5.0-beta.
|
|
3
|
+
"version": "2.5.0-beta.9",
|
|
4
4
|
"description": "",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -65,12 +65,12 @@
|
|
|
65
65
|
"tiny-invariant": "^1.3.3",
|
|
66
66
|
"type-fest": "^4.41.0",
|
|
67
67
|
"ws": "^8.18.3",
|
|
68
|
-
"@osdk/api": "2.5.0-beta.
|
|
68
|
+
"@osdk/api": "2.5.0-beta.9",
|
|
69
69
|
"@osdk/shared.client.impl": "~1.5.0-beta.2",
|
|
70
|
+
"@osdk/client.unstable": "2.5.0-beta.9",
|
|
70
71
|
"@osdk/shared.net.errors": "~2.5.0-beta.2",
|
|
71
72
|
"@osdk/shared.net.fetch": "~1.5.0-beta.2",
|
|
72
|
-
"@osdk/generator-converters": "2.5.0-beta.
|
|
73
|
-
"@osdk/client.unstable": "2.5.0-beta.7"
|
|
73
|
+
"@osdk/generator-converters": "2.5.0-beta.9"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@microsoft/api-documenter": "^7.26.32",
|
|
@@ -91,10 +91,10 @@
|
|
|
91
91
|
"ts-expect": "^1.3.0",
|
|
92
92
|
"typescript": "~5.5.4",
|
|
93
93
|
"zod": "^3.25.76",
|
|
94
|
+
"@osdk/client.test.ontology": "~2.5.0-beta.9",
|
|
94
95
|
"@osdk/monorepo.api-extractor": "~0.4.0-beta.1",
|
|
95
|
-
"@osdk/
|
|
96
|
-
"@osdk/monorepo.tsconfig": "~0.4.0-beta.1"
|
|
97
|
-
"@osdk/shared.test": "~2.5.0-beta.5"
|
|
96
|
+
"@osdk/shared.test": "~2.5.0-beta.5",
|
|
97
|
+
"@osdk/monorepo.tsconfig": "~0.4.0-beta.1"
|
|
98
98
|
},
|
|
99
99
|
"publishConfig": {
|
|
100
100
|
"access": "public"
|