@dvina/sdk 4.0.79 → 4.0.105
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/dist/_generated_documents-4D2QSLVK.js +4 -0
- package/dist/{_generated_documents-GPAJPXFF.js.map → _generated_documents-4D2QSLVK.js.map} +1 -1
- package/dist/{_generated_documents-KPFSYIQA.cjs → _generated_documents-7IV3BIIO.cjs} +569 -497
- package/dist/{_generated_documents-KPFSYIQA.cjs.map → _generated_documents-7IV3BIIO.cjs.map} +1 -1
- package/dist/adapters/angular/index.cjs +5 -5
- package/dist/adapters/angular/index.d.cts +2 -2
- package/dist/adapters/angular/index.d.ts +2 -2
- package/dist/adapters/angular/index.js +3 -3
- package/dist/{chunk-4QKWHQT2.cjs → chunk-342BFYZZ.cjs} +4 -10
- package/dist/chunk-342BFYZZ.cjs.map +1 -0
- package/dist/{chunk-QOZI2HY5.js → chunk-AE5KAIKK.js} +3 -3
- package/dist/{chunk-QOZI2HY5.js.map → chunk-AE5KAIKK.js.map} +1 -1
- package/dist/{chunk-YMIRF4SC.cjs → chunk-E45DZR4J.cjs} +85 -39
- package/dist/chunk-E45DZR4J.cjs.map +1 -0
- package/dist/{chunk-NPIKZKLU.cjs → chunk-FOKGSMXS.cjs} +5 -5
- package/dist/{chunk-NPIKZKLU.cjs.map → chunk-FOKGSMXS.cjs.map} +1 -1
- package/dist/{chunk-P4BYTXZ7.js → chunk-KEM6SUTS.js} +4 -10
- package/dist/chunk-KEM6SUTS.js.map +1 -0
- package/dist/{chunk-MFUJEBEN.js → chunk-MCS45C4J.js} +63 -35
- package/dist/chunk-MCS45C4J.js.map +1 -0
- package/dist/{chunk-IRMDS6IM.js → chunk-PJ34OU4B.js} +597 -143
- package/dist/chunk-PJ34OU4B.js.map +1 -0
- package/dist/{chunk-UVFQIMJE.cjs → chunk-Q66BI4MQ.cjs} +1335 -869
- package/dist/chunk-Q66BI4MQ.cjs.map +1 -0
- package/dist/{client-DiPeOA1R.d.ts → client-B5LbpEC3.d.ts} +1 -1
- package/dist/{client-BX57zzHy.d.cts → client-Dp5JOq16.d.cts} +1 -1
- package/dist/{index-DFP4l9XY.d.cts → index-BKyI_YQS.d.cts} +1 -1
- package/dist/{index-x3esSuE9.d.ts → index-BrsbEcIx.d.ts} +1 -1
- package/dist/index.cjs +441 -385
- package/dist/index.d.cts +410 -93
- package/dist/index.d.ts +410 -93
- package/dist/index.js +4 -4
- package/dist/pagination/index.cjs +8 -8
- package/dist/pagination/index.d.cts +2 -2
- package/dist/pagination/index.d.ts +2 -2
- package/dist/pagination/index.js +2 -2
- package/dist/{sync-engine-BXCeW3GE.d.ts → sync-engine-BmE8-rhX.d.ts} +1 -0
- package/dist/{sync-engine-DHWuexPR.d.cts → sync-engine-DN0tSqtg.d.cts} +1 -0
- package/package.json +1 -1
- package/dist/_generated_documents-GPAJPXFF.js +0 -4
- package/dist/chunk-4QKWHQT2.cjs.map +0 -1
- package/dist/chunk-IRMDS6IM.js.map +0 -1
- package/dist/chunk-MFUJEBEN.js.map +0 -1
- package/dist/chunk-P4BYTXZ7.js.map +0 -1
- package/dist/chunk-UVFQIMJE.cjs.map +0 -1
- package/dist/chunk-YMIRF4SC.cjs.map +0 -1
package/dist/{_generated_documents-KPFSYIQA.cjs.map → _generated_documents-7IV3BIIO.cjs.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"_generated_documents-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"_generated_documents-7IV3BIIO.cjs"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('../../chunk-
|
|
3
|
+
var chunkQ66BI4MQ_cjs = require('../../chunk-Q66BI4MQ.cjs');
|
|
4
|
+
require('../../chunk-342BFYZZ.cjs');
|
|
5
5
|
require('../../chunk-UELAE75E.cjs');
|
|
6
6
|
require('../../chunk-BL3GFOZR.cjs');
|
|
7
7
|
require('../../chunk-KV5SP7RP.cjs');
|
|
8
|
-
require('../../chunk-
|
|
8
|
+
require('../../chunk-E45DZR4J.cjs');
|
|
9
9
|
require('../../chunk-DZUJEN5N.cjs');
|
|
10
10
|
var core = require('@angular/core');
|
|
11
11
|
|
|
@@ -147,10 +147,10 @@ function hasDispose(value) {
|
|
|
147
147
|
function provideDvina(optionsOrFactory) {
|
|
148
148
|
return core.makeEnvironmentProviders([
|
|
149
149
|
{
|
|
150
|
-
provide:
|
|
150
|
+
provide: chunkQ66BI4MQ_cjs.DvinaSdk,
|
|
151
151
|
useFactory: () => {
|
|
152
152
|
const options = typeof optionsOrFactory === "function" ? optionsOrFactory() : optionsOrFactory;
|
|
153
|
-
return new
|
|
153
|
+
return new chunkQ66BI4MQ_cjs.DvinaSdk(options);
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
]);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Signal, DestroyRef, EnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { D as DvinaSdkOptions } from '../../client-
|
|
2
|
+
import { D as DvinaSdkOptions } from '../../client-Dp5JOq16.cjs';
|
|
3
3
|
import { D as DvinaQueryRef } from '../../types-2RotD0Ab.cjs';
|
|
4
4
|
import '../../error-CsVoUTY8.cjs';
|
|
5
|
-
import '../../sync-engine-
|
|
5
|
+
import '../../sync-engine-DN0tSqtg.cjs';
|
|
6
6
|
import 'graphql';
|
|
7
7
|
import 'dexie';
|
|
8
8
|
import '../../client-Bb2gD6Iz.cjs';
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Signal, DestroyRef, EnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { D as DvinaSdkOptions } from '../../client-
|
|
2
|
+
import { D as DvinaSdkOptions } from '../../client-B5LbpEC3.js';
|
|
3
3
|
import { D as DvinaQueryRef } from '../../types-2RotD0Ab.js';
|
|
4
4
|
import '../../error-CsVoUTY8.js';
|
|
5
|
-
import '../../sync-engine-
|
|
5
|
+
import '../../sync-engine-BmE8-rhX.js';
|
|
6
6
|
import 'graphql';
|
|
7
7
|
import 'dexie';
|
|
8
8
|
import '../../client-Bb2gD6Iz.js';
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DvinaSdk } from '../../chunk-
|
|
2
|
-
import '../../chunk-
|
|
1
|
+
import { DvinaSdk } from '../../chunk-PJ34OU4B.js';
|
|
2
|
+
import '../../chunk-KEM6SUTS.js';
|
|
3
3
|
import '../../chunk-PDM2KR7T.js';
|
|
4
4
|
import '../../chunk-5TAY5I34.js';
|
|
5
5
|
import '../../chunk-7XBJ77RJ.js';
|
|
6
|
-
import '../../chunk-
|
|
6
|
+
import '../../chunk-MCS45C4J.js';
|
|
7
7
|
import '../../chunk-5WRI5ZAA.js';
|
|
8
8
|
import { inject, DestroyRef, signal, effect, computed, makeEnvironmentProviders, untracked } from '@angular/core';
|
|
9
9
|
|
|
@@ -63,10 +63,7 @@ var Connection = class extends AbstractConnection {
|
|
|
63
63
|
*/
|
|
64
64
|
async fetchNext(options) {
|
|
65
65
|
if (this.pageInfo.hasNextPage) {
|
|
66
|
-
const response = await this._fetch(
|
|
67
|
-
{ after: this.pageInfo.endCursor },
|
|
68
|
-
options
|
|
69
|
-
);
|
|
66
|
+
const response = await this._fetch({ after: this.pageInfo.endCursor }, options);
|
|
70
67
|
if (response) {
|
|
71
68
|
this.nodes = [...this.nodes, ...response.nodes];
|
|
72
69
|
this.pageInfo.endCursor = response.pageInfo.endCursor ?? this.pageInfo.endCursor;
|
|
@@ -81,10 +78,7 @@ var Connection = class extends AbstractConnection {
|
|
|
81
78
|
*/
|
|
82
79
|
async fetchPrevious(options) {
|
|
83
80
|
if (this.pageInfo.hasPreviousPage) {
|
|
84
|
-
const response = await this._fetch(
|
|
85
|
-
{ before: this.pageInfo.startCursor },
|
|
86
|
-
options
|
|
87
|
-
);
|
|
81
|
+
const response = await this._fetch({ before: this.pageInfo.startCursor }, options);
|
|
88
82
|
if (response) {
|
|
89
83
|
this.nodes = [...response.nodes, ...this.nodes];
|
|
90
84
|
this.pageInfo.startCursor = response.pageInfo.startCursor ?? this.pageInfo.startCursor;
|
|
@@ -100,5 +94,5 @@ exports.Connection = Connection;
|
|
|
100
94
|
exports.PageInfo = PageInfo;
|
|
101
95
|
exports.Request = Request;
|
|
102
96
|
exports.defaultConnection = defaultConnection;
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
97
|
+
//# sourceMappingURL=chunk-342BFYZZ.cjs.map
|
|
98
|
+
//# sourceMappingURL=chunk-342BFYZZ.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/runtime/request.ts","../src/pagination/connection.ts"],"names":[],"mappings":"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","file":"chunk-342BFYZZ.cjs","sourcesContent":["import type { DvinaRequest, DvinaSubscribe } from '../types.js';\nimport type { SyncEngine } from '../store/sync-engine.js';\n\n/**\n * Base class that holds the transport functions.\n * Every generated model, connection, query, and the root SDK class extend this.\n *\n * Operation classes use `_syncEngine` for queries/mutations/watch.\n * Subscription classes use `_subscribe` for WebSocket streaming.\n * Model classes use `_request` for compatibility (lazy fetch).\n */\nexport class Request {\n\tprotected _request: DvinaRequest;\n\tprotected _syncEngine?: SyncEngine;\n\tprotected _subscribe?: DvinaSubscribe;\n\tprotected _baseUrl?: string;\n\n\tpublic constructor(request: DvinaRequest, syncEngine?: SyncEngine, subscribe?: DvinaSubscribe, baseUrl?: string) {\n\t\tthis._request = request;\n\t\tthis._syncEngine = syncEngine;\n\t\tthis._subscribe = subscribe;\n\t\tthis._baseUrl = baseUrl;\n\t}\n}\n","import { Request } from '../runtime/request.js';\nimport type { DvinaRequest, ConnectionVariables, FetchOptions, PageInfoData } from '../types.js';\n\n/** Default page size when cursor-paginating without an explicit first/last */\nconst DEFAULT_PAGE_SIZE = 50;\n\n/**\n * Default connection variables when paginating.\n * Ensures `first` or `last` is set when a cursor is provided.\n */\nexport function defaultConnection<V extends ConnectionVariables>(variables: V): V {\n\treturn {\n\t\t...variables,\n\t\tfirst: variables.first ?? (variables.after ? DEFAULT_PAGE_SIZE : undefined),\n\t\tlast: variables.last ?? (variables.before ? DEFAULT_PAGE_SIZE : undefined),\n\t};\n}\n\n/**\n * PageInfo model following the Relay spec.\n */\nexport class PageInfo {\n\tpublic hasNextPage: boolean;\n\tpublic hasPreviousPage: boolean;\n\tpublic startCursor?: string | null;\n\tpublic endCursor?: string | null;\n\n\tconstructor(data: PageInfoData) {\n\t\tthis.hasNextPage = data.hasNextPage;\n\t\tthis.hasPreviousPage = data.hasPreviousPage;\n\t\tthis.startCursor = data.startCursor;\n\t\tthis.endCursor = data.endCursor;\n\t}\n}\n\n/**\n * Abstract base class for connection types.\n * Holds nodes and page info, used for type checking.\n */\nexport abstract class AbstractConnection<Node> extends Request {\n\tpublic pageInfo: PageInfo;\n\tpublic nodes: Node[];\n\tpublic totalCount?: number;\n\n\tpublic constructor(request: DvinaRequest) {\n\t\tsuper(request);\n\t\tthis.pageInfo = new PageInfo({\n\t\t\thasNextPage: false,\n\t\t\thasPreviousPage: false,\n\t\t});\n\t\tthis.nodes = [];\n\t}\n}\n\n/**\n * Concrete connection class with pagination helpers.\n * Generated connection subclasses extend this.\n *\n * The `_fetch` closure is created by the query class and allows re-fetching\n * with different pagination variables.\n */\nexport class Connection<Node> extends AbstractConnection<Node> {\n\tprivate _fetch: (variables?: ConnectionVariables, options?: FetchOptions) => Promise<Connection<Node> | undefined>;\n\n\tpublic constructor(\n\t\trequest: DvinaRequest,\n\t\tfetch: (variables?: ConnectionVariables, options?: FetchOptions) => Promise<Connection<Node> | undefined>,\n\t\tnodes: Node[],\n\t\tpageInfo: PageInfo,\n\t\ttotalCount?: number,\n\t) {\n\t\tsuper(request);\n\t\tthis._fetch = fetch;\n\t\tthis.nodes = nodes;\n\t\tthis.pageInfo = pageInfo;\n\t\tthis.totalCount = totalCount;\n\t}\n\n\t/**\n\t * Fetch the next page and append nodes.\n\t * Mutates this connection instance in place (nodes are appended, pageInfo updated).\n\t */\n\tpublic async fetchNext(options?: FetchOptions): Promise<this> {\n\t\tif (this.pageInfo.hasNextPage) {\n\t\t\tconst response = await this._fetch({ after: this.pageInfo.endCursor }, options);\n\t\t\tif (response) {\n\t\t\t\tthis.nodes = [...this.nodes, ...response.nodes];\n\t\t\t\tthis.pageInfo.endCursor = response.pageInfo.endCursor ?? this.pageInfo.endCursor;\n\t\t\t\tthis.pageInfo.hasNextPage = response.pageInfo.hasNextPage;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t/**\n\t * Fetch the previous page and prepend nodes.\n\t * Mutates this connection instance in place (nodes are prepended, pageInfo updated).\n\t */\n\tpublic async fetchPrevious(options?: FetchOptions): Promise<this> {\n\t\tif (this.pageInfo.hasPreviousPage) {\n\t\t\tconst response = await this._fetch({ before: this.pageInfo.startCursor }, options);\n\t\t\tif (response) {\n\t\t\t\tthis.nodes = [...response.nodes, ...this.nodes];\n\t\t\t\tthis.pageInfo.startCursor = response.pageInfo.startCursor ?? this.pageInfo.startCursor;\n\t\t\t\tthis.pageInfo.hasPreviousPage = response.pageInfo.hasPreviousPage;\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Connection, PageInfo } from './chunk-
|
|
1
|
+
import { Connection, PageInfo } from './chunk-KEM6SUTS.js';
|
|
2
2
|
|
|
3
3
|
// src/pagination/helpers.ts
|
|
4
4
|
function extractNodes(connection) {
|
|
@@ -20,5 +20,5 @@ function mergeConnections(first, second) {
|
|
|
20
20
|
}
|
|
21
21
|
|
|
22
22
|
export { extractNodes, mergeConnections };
|
|
23
|
-
//# sourceMappingURL=chunk-
|
|
24
|
-
//# sourceMappingURL=chunk-
|
|
23
|
+
//# sourceMappingURL=chunk-AE5KAIKK.js.map
|
|
24
|
+
//# sourceMappingURL=chunk-AE5KAIKK.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/pagination/helpers.ts"],"names":[],"mappings":";;;AAKO,SAAS,aAAgB,UAAA,EAAgC;AAC/D,EAAA,OAAO,UAAA,CAAW,KAAA;AACnB;AAQO,SAAS,gBAAA,CAAoB,OAAsB,MAAA,EAAsC;AAC/F,EAAA,OAAO,IAAI,UAAA;AAAA,IACT,KAAA,CAAc,QAAA;AAAA,IACd,MAAA,CAAe,MAAA;AAAA,IAChB,CAAC,GAAG,KAAA,CAAM,KAAA,EAAO,GAAG,OAAO,KAAK,CAAA;AAAA,IAChC,IAAI,QAAA,CAAS;AAAA,MACZ,WAAA,EAAa,OAAO,QAAA,CAAS,WAAA;AAAA,MAC7B,eAAA,EAAiB,MAAM,QAAA,CAAS,eAAA;AAAA,MAChC,WAAA,EAAa,MAAM,QAAA,CAAS,WAAA;AAAA,MAC5B,SAAA,EAAW,OAAO,QAAA,CAAS;AAAA,KAC3B,CAAA;AAAA,IACD,MAAA,CAAO,cAAc,KAAA,CAAM;AAAA,GAC5B;AACD","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/pagination/helpers.ts"],"names":[],"mappings":";;;AAKO,SAAS,aAAgB,UAAA,EAAgC;AAC/D,EAAA,OAAO,UAAA,CAAW,KAAA;AACnB;AAQO,SAAS,gBAAA,CAAoB,OAAsB,MAAA,EAAsC;AAC/F,EAAA,OAAO,IAAI,UAAA;AAAA,IACT,KAAA,CAAc,QAAA;AAAA,IACd,MAAA,CAAe,MAAA;AAAA,IAChB,CAAC,GAAG,KAAA,CAAM,KAAA,EAAO,GAAG,OAAO,KAAK,CAAA;AAAA,IAChC,IAAI,QAAA,CAAS;AAAA,MACZ,WAAA,EAAa,OAAO,QAAA,CAAS,WAAA;AAAA,MAC7B,eAAA,EAAiB,MAAM,QAAA,CAAS,eAAA;AAAA,MAChC,WAAA,EAAa,MAAM,QAAA,CAAS,WAAA;AAAA,MAC5B,SAAA,EAAW,OAAO,QAAA,CAAS;AAAA,KAC3B,CAAA;AAAA,IACD,MAAA,CAAO,cAAc,KAAA,CAAM;AAAA,GAC5B;AACD","file":"chunk-AE5KAIKK.js","sourcesContent":["import { PageInfo, Connection } from './connection.js';\n\n/**\n * Extract all nodes from a connection.\n */\nexport function extractNodes<T>(connection: Connection<T>): T[] {\n\treturn connection.nodes;\n}\n\n/**\n * Merge two connections into a new connection. Appends the second connection's\n * nodes after the first's. Uses the second connection's end cursor and hasNextPage.\n *\n * Neither input connection is modified.\n */\nexport function mergeConnections<T>(first: Connection<T>, second: Connection<T>): Connection<T> {\n\treturn new Connection<T>(\n\t\t(first as any)._request,\n\t\t(second as any)._fetch,\n\t\t[...first.nodes, ...second.nodes],\n\t\tnew PageInfo({\n\t\t\thasNextPage: second.pageInfo.hasNextPage,\n\t\t\thasPreviousPage: first.pageInfo.hasPreviousPage,\n\t\t\tstartCursor: first.pageInfo.startCursor,\n\t\t\tendCursor: second.pageInfo.endCursor,\n\t\t}),\n\t\tsecond.totalCount ?? first.totalCount,\n\t);\n}\n"]}
|