@auxilium/datalynk-client 1.0.0 → 1.0.3

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/api.d.ts CHANGED
@@ -5,7 +5,6 @@ import { Pdf } from './pdf';
5
5
  import { Slice } from './slice';
6
6
  import { Socket } from './socket';
7
7
  import { Superuser } from './superuser';
8
-
9
8
  export type JwtPayload = {
10
9
  aud: string;
11
10
  email: string;
package/dist/api.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
package/dist/auth.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
  import { Api } from './api';
3
3
  import { LoginPromptOptions } from './login-prompt';
4
-
5
4
  /** User Account */
6
5
  export type User = {
7
6
  /** User ID */
@@ -33,11 +32,11 @@ export type User = {
33
32
  export declare class Auth {
34
33
  private readonly api;
35
34
  /** Current user as an observable */
36
- user$: BehaviorSubject<User | null>;
35
+ user$: BehaviorSubject<User | null | undefined>;
37
36
  /** Current user */
38
- get user(): User | null;
37
+ get user(): User | null | undefined;
39
38
  /** Set current user info */
40
- set user(user: User | null);
39
+ set user(user: User | null | undefined);
41
40
  get spoke(): string | null;
42
41
  constructor(api: Api);
43
42
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAc,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE/D,mBAAmB;AACnB,MAAM,MAAM,IAAI,GAAG;IAClB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd,CAAA;AAED;;GAEG;AACH,qBAAa,IAAI;IAUJ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAThC,oCAAoC;IACpC,KAAK,+BAA0C;IAC/C,mBAAmB;IACnB,IAAI,IAAI,IAEO,IAAI,GAAG,IAAI,CAFkB;IAC5C,4BAA4B;IAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,EAA4B;IAEtD,IAAI,KAAK,kBAAiD;gBAE7B,GAAG,EAAE,GAAG;IAErC;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAW/B;;;;;;;OAOG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7E;;;;OAIG;IACH,eAAe;IAEf;;;;OAIG;IACH,OAAO;IAEP;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOpC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAOtC;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAqBxH;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAS1B;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;;OAIG;IACH,MAAM;gBAC6B,MAAM;aAAO,MAAM;;IAOtD;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAWvD;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO;CAI3D"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAc,kBAAkB,EAAC,MAAM,gBAAgB,CAAC;AAE/D,mBAAmB;AACnB,MAAM,MAAM,IAAI,GAAG;IAClB,cAAc;IACd,EAAE,EAAE,MAAM,CAAC;IACX,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,OAAO,CAAC;IACf,kCAAkC;IAClC,QAAQ,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,8BAA8B;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAC;CACd,CAAA;AAED;;GAEG;AACH,qBAAa,IAAI;IAUJ,OAAO,CAAC,QAAQ,CAAC,GAAG;IAThC,oCAAoC;IACpC,KAAK,2CAA2D;IAChE,mBAAmB;IACnB,IAAI,IAAI,IAEO,IAAI,GAAG,IAAI,GAAG,SAAS,CAFM;IAC5C,4BAA4B;IAC5B,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,EAA4B;IAElE,IAAI,KAAK,kBAAiD;gBAE7B,GAAG,EAAE,GAAG;IAErC;;;;OAIG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;IAW/B;;;;;;;OAOG;IACG,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAgB7E;;;;OAIG;IACH,eAAe;IAEf;;;;OAIG;IACH,OAAO;IAEP;;;;OAIG;IACG,UAAU,IAAI,OAAO,CAAC,OAAO,CAAC;IAOpC;;;;OAIG;IACG,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC;IAOtC;;;;OAIG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,CAAC;IAOrC;;;;;;;;OAQG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAAC,SAAS,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,IAAI,GAAG,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IAqBxH;;;;OAIG;IACH,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC;IAS1B;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC;IAIvE;;;;OAIG;IACH,MAAM;gBAC6B,MAAM;aAAO,MAAM;;IAOtD;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;IAWvD;;;;;;OAMG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,KAAK,GAAG,OAAO;CAI3D"}
package/dist/files.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Api } from './api';
2
-
3
2
  /**
4
3
  * Metadata for an uploaded file in Datalynk
5
4
  */
@@ -34,10 +33,15 @@ export declare class Files {
34
33
  * @param {boolean} execute Will run request by default, passing false will return the API request instead
35
34
  * @return {any} The API response by default, or the raw API request if execute is false
36
35
  */
37
- associate(fileIds: number | number[], slice: number, row: number, field: string, execute: true): {
38
- [key: string]: any;
36
+ associate(fileIds: number | number[], slice: number, row: number, field: string, execute?: true): Promise<any>;
37
+ associate(fileIds: number | number[], slice: number, row: number, field: string, execute: false): {
38
+ '!/tools/file/update': {
39
+ slice: number;
40
+ row: number;
41
+ field: string;
42
+ ids: number[];
43
+ };
39
44
  };
40
- associate(fileIds: number | number[], slice: number, row: number, field: string): Promise<any>;
41
45
  /**
42
46
  * Get an authenticated URL to fetch files from
43
47
  *
@@ -1 +1 @@
1
- {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,KAAK;IAGL,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,QAAQ,CAAC,GAAG,EAAG,MAAM,CAAA;gBAEQ,GAAG,EAAE,GAAG;IAIrC;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,GAAG;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC;IACrH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAO9F;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM;IAI9C;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAyB5I"}
1
+ {"version":3,"file":"files.d.ts","sourceRoot":"","sources":["../src/files.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,iDAAiD;IACjD,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,uBAAuB;IACvB,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,qBAAa,KAAK;IAGL,OAAO,CAAC,QAAQ,CAAC,GAAG;IAFhC,QAAQ,CAAC,GAAG,EAAG,MAAM,CAAA;gBAEQ,GAAG,EAAE,GAAG;IAIrC;;;;;;;;;OASG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;IAC9G,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG;QAAC,qBAAqB,EAAE;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAC;YAAC,GAAG,EAAE,MAAM,EAAE,CAAA;SAAC,CAAA;KAAC;IAOrL;;;;;;OAMG;IACH,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM;IAI9C;;;;;OAKG;IACH,MAAM,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,GAAG,IAAI,EAAE,EAAE,SAAS,CAAC,EAAE;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,EAAE,CAAC,EAAE,MAAM,CAAA;KAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;CAyB5I"}
package/dist/index.cjs CHANGED
@@ -36,10 +36,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
36
36
  return value2;
37
37
  }, space);
38
38
  }
39
- function flattenArr(arr, result = []) {
40
- arr.forEach((el) => Array.isArray(el) ? flattenArr(el, result) : result.push(el));
41
- return result;
42
- }
43
39
  class PromiseProgress extends Promise {
44
40
  constructor(executor) {
45
41
  super((resolve, reject) => executor(
@@ -82,6 +78,106 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
82
78
  return this.from(super.finally(res));
83
79
  }
84
80
  }
81
+ function formatDate(format = "YYYY-MM-DD H:mm", date = /* @__PURE__ */ new Date(), tz) {
82
+ const timezones = [
83
+ ["IDLW", -12],
84
+ ["SST", -11],
85
+ ["HST", -10],
86
+ ["AKST", -9],
87
+ ["PST", -8],
88
+ ["MST", -7],
89
+ ["CST", -6],
90
+ ["EST", -5],
91
+ ["AST", -4],
92
+ ["BRT", -3],
93
+ ["MAT", -2],
94
+ ["AZOT", -1],
95
+ ["UTC", 0],
96
+ ["CET", 1],
97
+ ["EET", 2],
98
+ ["MSK", 3],
99
+ ["AST", 4],
100
+ ["PKT", 5],
101
+ ["IST", 5.5],
102
+ ["BST", 6],
103
+ ["ICT", 7],
104
+ ["CST", 8],
105
+ ["JST", 9],
106
+ ["AEST", 10],
107
+ ["SBT", 11],
108
+ ["FJT", 12],
109
+ ["TOT", 13],
110
+ ["LINT", 14]
111
+ ];
112
+ function adjustTz(date2, gmt) {
113
+ const currentOffset = date2.getTimezoneOffset();
114
+ const adjustedOffset = gmt * 60;
115
+ return new Date(date2.getTime() + (adjustedOffset + currentOffset) * 6e4);
116
+ }
117
+ function day(num) {
118
+ return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][num] || "Unknown";
119
+ }
120
+ function doy(date2) {
121
+ const start = /* @__PURE__ */ new Date(`${date2.getFullYear()}-01-01 0:00:00`);
122
+ return Math.ceil((date2.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24));
123
+ }
124
+ function month(num) {
125
+ return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][num] || "Unknown";
126
+ }
127
+ function suffix(num) {
128
+ if (num % 100 >= 11 && num % 100 <= 13) return `${num}th`;
129
+ switch (num % 10) {
130
+ case 1:
131
+ return `${num}st`;
132
+ case 2:
133
+ return `${num}nd`;
134
+ case 3:
135
+ return `${num}rd`;
136
+ default:
137
+ return `${num}th`;
138
+ }
139
+ }
140
+ function tzOffset(offset) {
141
+ const hours = ~~(offset / 60);
142
+ const minutes = offset % 60;
143
+ return (offset > 0 ? "-" : "") + `${hours}:${minutes.toString().padStart(2, "0")}`;
144
+ }
145
+ if (typeof date == "number" || typeof date == "string") date = new Date(date);
146
+ let t;
147
+ if (tz == null) tz = -(date.getTimezoneOffset() / 60);
148
+ t = timezones.find((t2) => isNaN(tz) ? t2[0] == tz : t2[1] == tz);
149
+ if (!t) throw new Error(`Unknown timezone: ${tz}`);
150
+ date = adjustTz(date, t[1]);
151
+ const tokens = {
152
+ "YYYY": date.getFullYear().toString(),
153
+ "YY": date.getFullYear().toString().slice(2),
154
+ "MMMM": month(date.getMonth()),
155
+ "MMM": month(date.getMonth()).slice(0, 3),
156
+ "MM": (date.getMonth() + 1).toString().padStart(2, "0"),
157
+ "M": (date.getMonth() + 1).toString(),
158
+ "DDD": doy(date).toString(),
159
+ "DD": date.getDate().toString().padStart(2, "0"),
160
+ "Do": suffix(date.getDate()),
161
+ "D": date.getDate().toString(),
162
+ "dddd": day(date.getDay()),
163
+ "ddd": day(date.getDay()).slice(0, 3),
164
+ "HH": date.getHours().toString().padStart(2, "0"),
165
+ "H": date.getHours().toString(),
166
+ "hh": (date.getHours() % 12 || 12).toString().padStart(2, "0"),
167
+ "h": (date.getHours() % 12 || 12).toString(),
168
+ "mm": date.getMinutes().toString().padStart(2, "0"),
169
+ "m": date.getMinutes().toString(),
170
+ "ss": date.getSeconds().toString().padStart(2, "0"),
171
+ "s": date.getSeconds().toString(),
172
+ "SSS": date.getMilliseconds().toString().padStart(3, "0"),
173
+ "A": date.getHours() >= 12 ? "PM" : "AM",
174
+ "a": date.getHours() >= 12 ? "pm" : "am",
175
+ "ZZ": tzOffset(t[1] * 60).replace(":", ""),
176
+ "Z": tzOffset(t[1] * 60),
177
+ "z": typeof tz == "string" ? tz : t[0]
178
+ };
179
+ return format.replace(/YYYY|YY|MMMM|MMM|MM|M|DDD|DD|Do|D|dddd|ddd|HH|H|hh|h|mm|m|ss|s|SSS|A|a|ZZ|Z|z/g, (token) => tokens[token]);
180
+ }
85
181
  class TypedEmitter {
86
182
  constructor() {
87
183
  __publicField2(this, "listeners", {});
@@ -301,6 +397,25 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
301
397
  return new CustomError(message, code);
302
398
  }
303
399
  }
400
+ class HttpResponse extends Response {
401
+ constructor(resp, stream) {
402
+ const body = [204, 205, 304].includes(resp.status) ? null : stream;
403
+ super(body, {
404
+ headers: resp.headers,
405
+ status: resp.status,
406
+ statusText: resp.statusText
407
+ });
408
+ __publicField2(this, "data");
409
+ __publicField2(this, "ok");
410
+ __publicField2(this, "redirected");
411
+ __publicField2(this, "type");
412
+ __publicField2(this, "url");
413
+ this.ok = resp.ok;
414
+ this.redirected = resp.redirected;
415
+ this.type = resp.type;
416
+ this.url = resp.url;
417
+ }
418
+ }
304
419
  const _Http = class _Http2 {
305
420
  constructor(defaults = {}) {
306
421
  __publicField2(this, "interceptors", {});
@@ -329,8 +444,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
329
444
  request(opts = {}) {
330
445
  var _a;
331
446
  if (!this.url && !opts.url) throw new Error("URL needs to be set");
332
- let url = (((_a = opts.url) == null ? void 0 : _a.startsWith("http")) ? opts.url : (this.url || "") + (opts.url || "")).replace(/([^:]\/)\/+/g, "$1");
333
- if (opts.fragment) url.includes("#") ? url.replace(/#.*(\?|\n)/g, (match, arg1) => `#${opts.fragment}${arg1}`) : url += "#" + opts.fragment;
447
+ let url = ((_a = opts.url) == null ? void 0 : _a.startsWith("http")) ? opts.url : (this.url || "") + (opts.url || "");
448
+ url = url.replaceAll(/([^:]\/)\/+/g, "$1");
449
+ if (opts.fragment) url.includes("#") ? url.replace(/#.*(\?|\n)/g, (match, arg1) => `#${opts.fragment}${arg1}`) : `${url}#${opts.fragment}`;
334
450
  if (opts.query) {
335
451
  const q = Array.isArray(opts.query) ? opts.query : Object.keys(opts.query).map((k) => ({ key: k, value: opts.query[k] }));
336
452
  url += (url.includes("?") ? "&" : "?") + q.map((q2) => `${q2.key}=${q2.value}`).join("&");
@@ -372,13 +488,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
372
488
  push();
373
489
  }
374
490
  });
375
- resp.data = new Response(stream);
376
- if (opts.decode == null || opts.decode) {
491
+ resp = new HttpResponse(resp, stream);
492
+ if (opts.decode !== false) {
377
493
  const content = (_b = resp.headers.get("Content-Type")) == null ? void 0 : _b.toLowerCase();
378
- if (content == null ? void 0 : content.includes("form")) resp.data = await resp.data.formData();
379
- else if (content == null ? void 0 : content.includes("json")) resp.data = await resp.data.json();
380
- else if (content == null ? void 0 : content.includes("text")) resp.data = await resp.data.text();
381
- else if (content == null ? void 0 : content.includes("application")) resp.data = await resp.data.blob();
494
+ if (content == null ? void 0 : content.includes("form")) resp.data = await resp.formData();
495
+ else if (content == null ? void 0 : content.includes("json")) resp.data = await resp.json();
496
+ else if (content == null ? void 0 : content.includes("text")) resp.data = await resp.text();
497
+ else if (content == null ? void 0 : content.includes("application")) resp.data = await resp.blob();
382
498
  }
383
499
  if (resp.ok) res(resp);
384
500
  else rej(resp);
@@ -398,31 +514,13 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
398
514
  }).join("")));
399
515
  }
400
516
  const CliEffects = {
401
- CLEAR: "\x1B[0m",
402
- BRIGHT: "\x1B[1m",
403
- DIM: "\x1B[2m",
404
- UNDERSCORE: "\x1B[4m",
405
- BLINK: "\x1B[5m",
406
- REVERSE: "\x1B[7m",
407
- HIDDEN: "\x1B[8m"
517
+ CLEAR: "\x1B[0m"
408
518
  };
409
519
  const CliForeground = {
410
- BLACK: "\x1B[30m",
411
520
  RED: "\x1B[31m",
412
- GREEN: "\x1B[32m",
413
521
  YELLOW: "\x1B[33m",
414
522
  BLUE: "\x1B[34m",
415
- MAGENTA: "\x1B[35m",
416
- CYAN: "\x1B[36m",
417
- LIGHT_GREY: "\x1B[37m",
418
- GREY: "\x1B[90m",
419
- LIGHT_RED: "\x1B[91m",
420
- LIGHT_GREEN: "\x1B[92m",
421
- LIGHT_YELLOW: "\x1B[93m",
422
- LIGHT_BLUE: "\x1B[94m",
423
- LIGHT_MAGENTA: "\x1B[95m",
424
- LIGHT_CYAN: "\x1B[96m",
425
- WHITE: "\x1B[97m"
523
+ LIGHT_GREY: "\x1B[37m"
426
524
  };
427
525
  const _Logger = class _Logger2 extends TypedEmitter {
428
526
  constructor(namespace) {
@@ -466,112 +564,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
466
564
  }
467
565
  };
468
566
  __publicField2(_Logger, "LOG_LEVEL", 4);
469
- function formatDate(format = "YYYY-MM-DD H:mm", date = /* @__PURE__ */ new Date(), tz) {
470
- const timezones = [
471
- ["IDLW", -12],
472
- ["SST", -11],
473
- ["HST", -10],
474
- ["AKST", -9],
475
- ["PST", -8],
476
- ["MST", -7],
477
- ["CST", -6],
478
- ["EST", -5],
479
- ["AST", -4],
480
- ["BRT", -3],
481
- ["MAT", -2],
482
- ["AZOT", -1],
483
- ["UTC", 0],
484
- ["CET", 1],
485
- ["EET", 2],
486
- ["MSK", 3],
487
- ["AST", 4],
488
- ["PKT", 5],
489
- ["IST", 5.5],
490
- ["BST", 6],
491
- ["ICT", 7],
492
- ["CST", 8],
493
- ["JST", 9],
494
- ["AEST", 10],
495
- ["SBT", 11],
496
- ["FJT", 12],
497
- ["TOT", 13],
498
- ["LINT", 14]
499
- ];
500
- function adjustTz(date2, gmt) {
501
- const currentOffset = date2.getTimezoneOffset();
502
- const adjustedOffset = gmt * 60;
503
- return new Date(date2.getTime() + (adjustedOffset + currentOffset) * 6e4);
504
- }
505
- function day(num) {
506
- return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][num] || "Unknown";
507
- }
508
- function doy(date2) {
509
- const start = /* @__PURE__ */ new Date(`${date2.getFullYear()}-01-01 0:00:00`);
510
- return Math.ceil((date2.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24));
511
- }
512
- function month(num) {
513
- return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][num] || "Unknown";
514
- }
515
- function suffix(num) {
516
- if (num % 100 >= 11 && num % 100 <= 13) return `${num}th`;
517
- switch (num % 10) {
518
- case 1:
519
- return `${num}st`;
520
- case 2:
521
- return `${num}nd`;
522
- case 3:
523
- return `${num}rd`;
524
- default:
525
- return `${num}th`;
526
- }
527
- }
528
- function tzOffset(offset) {
529
- const hours = ~~(offset / 60);
530
- const minutes = offset % 60;
531
- return (offset > 0 ? "-" : "") + `${hours}:${minutes.toString().padStart(2, "0")}`;
532
- }
533
- if (typeof date == "number" || typeof date == "string") date = new Date(date);
534
- let t;
535
- if (tz == null) tz = -(date.getTimezoneOffset() / 60);
536
- t = timezones.find((t2) => isNaN(tz) ? t2[0] == tz : t2[1] == tz);
537
- if (!t) throw new Error(`Unknown timezone: ${tz}`);
538
- date = adjustTz(date, t[1]);
539
- const tokens = {
540
- "YYYY": date.getFullYear().toString(),
541
- "YY": date.getFullYear().toString().slice(2),
542
- "MMMM": month(date.getMonth()),
543
- "MMM": month(date.getMonth()).slice(0, 3),
544
- "MM": (date.getMonth() + 1).toString().padStart(2, "0"),
545
- "M": (date.getMonth() + 1).toString(),
546
- "DDD": doy(date).toString(),
547
- "DD": date.getDate().toString().padStart(2, "0"),
548
- "Do": suffix(date.getDate()),
549
- "D": date.getDate().toString(),
550
- "dddd": day(date.getDay()),
551
- "ddd": day(date.getDay()).slice(0, 3),
552
- "HH": date.getHours().toString().padStart(2, "0"),
553
- "H": date.getHours().toString(),
554
- "hh": (date.getHours() % 12 || 12).toString().padStart(2, "0"),
555
- "h": (date.getHours() % 12 || 12).toString(),
556
- "mm": date.getMinutes().toString().padStart(2, "0"),
557
- "m": date.getMinutes().toString(),
558
- "ss": date.getSeconds().toString().padStart(2, "0"),
559
- "s": date.getSeconds().toString(),
560
- "SSS": date.getMilliseconds().toString().padStart(3, "0"),
561
- "A": date.getHours() >= 12 ? "PM" : "AM",
562
- "a": date.getHours() >= 12 ? "pm" : "am",
563
- "ZZ": tzOffset(t[1] * 60).replace(":", ""),
564
- "Z": tzOffset(t[1] * 60),
565
- "z": typeof tz == "string" ? tz : t[0]
566
- };
567
- return format.replace(/YYYY|YY|MMMM|MMM|MM|M|DDD|DD|Do|D|dddd|ddd|HH|H|hh|h|mm|m|ss|s|SSS|A|a|ZZ|Z|z/g, (token) => tokens[token]);
568
- }
569
- function sleep(ms) {
570
- return new Promise((res) => setTimeout(res, ms));
571
- }
572
- async function sleepWhile(fn, checkInterval = 100) {
573
- while (await fn()) await sleep(checkInterval);
574
- }
575
567
  var extendStatics = function(d, b) {
576
568
  extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
577
569
  d2.__proto__ = b2;
@@ -791,11 +783,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
791
783
  }
792
784
  }
793
785
  var config = {
794
- onUnhandledError: null,
795
- onStoppedNotification: null,
796
- Promise: void 0,
797
- useDeprecatedSynchronousErrorHandling: false,
798
- useDeprecatedNextContext: false
786
+ Promise: void 0
799
787
  };
800
788
  var timeoutProvider = {
801
789
  setTimeout: function(handler, timeout) {
@@ -888,10 +876,6 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
888
876
  };
889
877
  return Subscriber2;
890
878
  }(Subscription);
891
- var _bind = Function.prototype.bind;
892
- function bind(fn, thisArg) {
893
- return _bind.call(fn, thisArg);
894
- }
895
879
  var ConsumerObserver = function() {
896
880
  function ConsumerObserver2(partialObserver) {
897
881
  this.partialObserver = partialObserver;
@@ -942,18 +926,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
942
926
  complete: complete !== null && complete !== void 0 ? complete : void 0
943
927
  };
944
928
  } else {
945
- var context_1;
946
- if (_this && config.useDeprecatedNextContext) {
947
- context_1 = Object.create(observerOrNext);
948
- context_1.unsubscribe = function() {
949
- return _this.unsubscribe();
950
- };
951
- partialObserver = {
952
- next: observerOrNext.next && bind(observerOrNext.next, context_1),
953
- error: observerOrNext.error && bind(observerOrNext.error, context_1),
954
- complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
955
- };
956
- } else {
929
+ {
957
930
  partialObserver = observerOrNext;
958
931
  }
959
932
  }
@@ -1607,7 +1580,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1607
1580
  class Auth {
1608
1581
  constructor(api) {
1609
1582
  /** Current user as an observable */
1610
- __publicField(this, "user$", new BehaviorSubject(null));
1583
+ __publicField(this, "user$", new BehaviorSubject(void 0));
1611
1584
  this.api = api;
1612
1585
  }
1613
1586
  /** Current user */
@@ -1801,7 +1774,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
1801
1774
  this.url = `${this.api.url}file`;
1802
1775
  }
1803
1776
  associate(fileIds, slice, row, field, execute = true) {
1804
- const req = { [`${execute ? "!" : "$"}/tools/file/update`]: { row, field, slice, ids: fileIds } };
1777
+ const req = { [`${execute ? "!" : "$"}/tools/file/update`]: { slice, row, field, ids: fileIds } };
1805
1778
  if (execute) return this.api.request(req);
1806
1779
  return req;
1807
1780
  }
@@ -2358,6 +2331,7 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2358
2331
  class Socket {
2359
2332
  constructor(api, options = {}) {
2360
2333
  __publicField(this, "listeners", []);
2334
+ // [ Callback, Re-subscribe ]
2361
2335
  __publicField(this, "retry");
2362
2336
  __publicField(this, "socket");
2363
2337
  __publicField(this, "open", false);
@@ -2378,9 +2352,9 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2378
2352
  * @param {SocketListener} fn Callback function
2379
2353
  * @return {Unsubscribe} Function to unsubscribe callback
2380
2354
  */
2381
- addListener(fn) {
2382
- this.listeners.push(fn);
2383
- return () => this.listeners = this.listeners.filter((l) => l != fn);
2355
+ addListener(fn, reconnect) {
2356
+ this.listeners.push([fn, reconnect]);
2357
+ return () => this.listeners = this.listeners.filter((l) => l[0] != fn);
2384
2358
  }
2385
2359
  /**
2386
2360
  * Close socket connection
@@ -2418,11 +2392,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2418
2392
  if (payload.connected) {
2419
2393
  this.open = true;
2420
2394
  console.debug("Datalynk socket: connected");
2395
+ this.listeners.forEach((l) => l[1]());
2421
2396
  } else {
2422
2397
  throw new Error(`Datalynk socket failed: ${payload.error}`);
2423
2398
  }
2424
2399
  } else {
2425
- this.listeners.forEach((l) => l(payload));
2400
+ this.listeners.forEach((l) => l[0](payload));
2426
2401
  }
2427
2402
  };
2428
2403
  }
@@ -2445,15 +2420,12 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2445
2420
  * @return {Unsubscribe} Run returned function to unsubscribe callback
2446
2421
  */
2447
2422
  sliceEvents(slice, callback) {
2448
- let cancelled = false;
2449
- sleepWhile(() => !this.open).then(() => {
2450
- if (!cancelled) this.send({ onSliceEvents: slice });
2451
- });
2423
+ const listen = () => this.send({ onSliceEvents: slice });
2424
+ if (this.open) listen();
2452
2425
  const unsubscribe = this.addListener((event) => {
2453
2426
  if (event.type == "sliceEvents" && event.data.slice == slice) callback(event);
2454
- });
2427
+ }, () => listen());
2455
2428
  return () => {
2456
- cancelled = true;
2457
2429
  this.send({ offSliceEvents: slice });
2458
2430
  unsubscribe();
2459
2431
  };
@@ -2604,7 +2576,18 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2604
2576
  * @return {Promise<any>} API Response
2605
2577
  */
2606
2578
  chain(...requests) {
2607
- return this.request({ "$/tools/action_chain": flattenArr(requests).map((r) => r instanceof Slice ? r.raw : r) });
2579
+ const arr = requests.length == 1 && Array.isArray(requests[0]) ? requests[0] : requests;
2580
+ return this.request({ "$/tools/action_chain": arr.map((r) => {
2581
+ if (!(r instanceof Slice)) return r;
2582
+ const req = r.raw;
2583
+ Object.keys(req).forEach((key) => {
2584
+ if (key.startsWith("$/")) {
2585
+ req[key.replace("$", "!")] = req[key];
2586
+ delete req[key];
2587
+ }
2588
+ });
2589
+ return req;
2590
+ }) });
2608
2591
  }
2609
2592
  /**
2610
2593
  * Organize multiple requests into a single mapped request
@@ -2613,7 +2596,17 @@ var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "sy
2613
2596
  */
2614
2597
  chainMap(request) {
2615
2598
  return this.request({ "$/tools/do": [
2616
- ...Object.entries(request).flatMap(([key, r]) => [key, r instanceof Slice ? r == null ? void 0 : r.raw : r]),
2599
+ ...Object.entries(request).flatMap(([key, r]) => {
2600
+ if (!(r instanceof Slice)) return [key, r];
2601
+ const req = r.raw;
2602
+ Object.keys(req).forEach((key2) => {
2603
+ if (key2.startsWith("$/")) {
2604
+ req[key2.replace("$", "!")] = req[key2];
2605
+ delete req[key2];
2606
+ }
2607
+ });
2608
+ return [key, req];
2609
+ }),
2617
2610
  "returnAllBoilerplate",
2618
2611
  { "$_": "*" }
2619
2612
  ] }, {});
package/dist/index.mjs CHANGED
@@ -32,10 +32,6 @@ function JSONSanitize(obj, space) {
32
32
  return value2;
33
33
  }, space);
34
34
  }
35
- function flattenArr(arr, result = []) {
36
- arr.forEach((el) => Array.isArray(el) ? flattenArr(el, result) : result.push(el));
37
- return result;
38
- }
39
35
  class PromiseProgress extends Promise {
40
36
  constructor(executor) {
41
37
  super((resolve, reject) => executor(
@@ -78,6 +74,106 @@ class PromiseProgress extends Promise {
78
74
  return this.from(super.finally(res));
79
75
  }
80
76
  }
77
+ function formatDate(format = "YYYY-MM-DD H:mm", date = /* @__PURE__ */ new Date(), tz) {
78
+ const timezones = [
79
+ ["IDLW", -12],
80
+ ["SST", -11],
81
+ ["HST", -10],
82
+ ["AKST", -9],
83
+ ["PST", -8],
84
+ ["MST", -7],
85
+ ["CST", -6],
86
+ ["EST", -5],
87
+ ["AST", -4],
88
+ ["BRT", -3],
89
+ ["MAT", -2],
90
+ ["AZOT", -1],
91
+ ["UTC", 0],
92
+ ["CET", 1],
93
+ ["EET", 2],
94
+ ["MSK", 3],
95
+ ["AST", 4],
96
+ ["PKT", 5],
97
+ ["IST", 5.5],
98
+ ["BST", 6],
99
+ ["ICT", 7],
100
+ ["CST", 8],
101
+ ["JST", 9],
102
+ ["AEST", 10],
103
+ ["SBT", 11],
104
+ ["FJT", 12],
105
+ ["TOT", 13],
106
+ ["LINT", 14]
107
+ ];
108
+ function adjustTz(date2, gmt) {
109
+ const currentOffset = date2.getTimezoneOffset();
110
+ const adjustedOffset = gmt * 60;
111
+ return new Date(date2.getTime() + (adjustedOffset + currentOffset) * 6e4);
112
+ }
113
+ function day(num) {
114
+ return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][num] || "Unknown";
115
+ }
116
+ function doy(date2) {
117
+ const start = /* @__PURE__ */ new Date(`${date2.getFullYear()}-01-01 0:00:00`);
118
+ return Math.ceil((date2.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24));
119
+ }
120
+ function month(num) {
121
+ return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][num] || "Unknown";
122
+ }
123
+ function suffix(num) {
124
+ if (num % 100 >= 11 && num % 100 <= 13) return `${num}th`;
125
+ switch (num % 10) {
126
+ case 1:
127
+ return `${num}st`;
128
+ case 2:
129
+ return `${num}nd`;
130
+ case 3:
131
+ return `${num}rd`;
132
+ default:
133
+ return `${num}th`;
134
+ }
135
+ }
136
+ function tzOffset(offset) {
137
+ const hours = ~~(offset / 60);
138
+ const minutes = offset % 60;
139
+ return (offset > 0 ? "-" : "") + `${hours}:${minutes.toString().padStart(2, "0")}`;
140
+ }
141
+ if (typeof date == "number" || typeof date == "string") date = new Date(date);
142
+ let t;
143
+ if (tz == null) tz = -(date.getTimezoneOffset() / 60);
144
+ t = timezones.find((t2) => isNaN(tz) ? t2[0] == tz : t2[1] == tz);
145
+ if (!t) throw new Error(`Unknown timezone: ${tz}`);
146
+ date = adjustTz(date, t[1]);
147
+ const tokens = {
148
+ "YYYY": date.getFullYear().toString(),
149
+ "YY": date.getFullYear().toString().slice(2),
150
+ "MMMM": month(date.getMonth()),
151
+ "MMM": month(date.getMonth()).slice(0, 3),
152
+ "MM": (date.getMonth() + 1).toString().padStart(2, "0"),
153
+ "M": (date.getMonth() + 1).toString(),
154
+ "DDD": doy(date).toString(),
155
+ "DD": date.getDate().toString().padStart(2, "0"),
156
+ "Do": suffix(date.getDate()),
157
+ "D": date.getDate().toString(),
158
+ "dddd": day(date.getDay()),
159
+ "ddd": day(date.getDay()).slice(0, 3),
160
+ "HH": date.getHours().toString().padStart(2, "0"),
161
+ "H": date.getHours().toString(),
162
+ "hh": (date.getHours() % 12 || 12).toString().padStart(2, "0"),
163
+ "h": (date.getHours() % 12 || 12).toString(),
164
+ "mm": date.getMinutes().toString().padStart(2, "0"),
165
+ "m": date.getMinutes().toString(),
166
+ "ss": date.getSeconds().toString().padStart(2, "0"),
167
+ "s": date.getSeconds().toString(),
168
+ "SSS": date.getMilliseconds().toString().padStart(3, "0"),
169
+ "A": date.getHours() >= 12 ? "PM" : "AM",
170
+ "a": date.getHours() >= 12 ? "pm" : "am",
171
+ "ZZ": tzOffset(t[1] * 60).replace(":", ""),
172
+ "Z": tzOffset(t[1] * 60),
173
+ "z": typeof tz == "string" ? tz : t[0]
174
+ };
175
+ return format.replace(/YYYY|YY|MMMM|MMM|MM|M|DDD|DD|Do|D|dddd|ddd|HH|H|hh|h|mm|m|ss|s|SSS|A|a|ZZ|Z|z/g, (token) => tokens[token]);
176
+ }
81
177
  class TypedEmitter {
82
178
  constructor() {
83
179
  __publicField2(this, "listeners", {});
@@ -297,6 +393,25 @@ function errorFromCode(code, message) {
297
393
  return new CustomError(message, code);
298
394
  }
299
395
  }
396
+ class HttpResponse extends Response {
397
+ constructor(resp, stream) {
398
+ const body = [204, 205, 304].includes(resp.status) ? null : stream;
399
+ super(body, {
400
+ headers: resp.headers,
401
+ status: resp.status,
402
+ statusText: resp.statusText
403
+ });
404
+ __publicField2(this, "data");
405
+ __publicField2(this, "ok");
406
+ __publicField2(this, "redirected");
407
+ __publicField2(this, "type");
408
+ __publicField2(this, "url");
409
+ this.ok = resp.ok;
410
+ this.redirected = resp.redirected;
411
+ this.type = resp.type;
412
+ this.url = resp.url;
413
+ }
414
+ }
300
415
  const _Http = class _Http2 {
301
416
  constructor(defaults = {}) {
302
417
  __publicField2(this, "interceptors", {});
@@ -325,8 +440,9 @@ const _Http = class _Http2 {
325
440
  request(opts = {}) {
326
441
  var _a;
327
442
  if (!this.url && !opts.url) throw new Error("URL needs to be set");
328
- let url = (((_a = opts.url) == null ? void 0 : _a.startsWith("http")) ? opts.url : (this.url || "") + (opts.url || "")).replace(/([^:]\/)\/+/g, "$1");
329
- if (opts.fragment) url.includes("#") ? url.replace(/#.*(\?|\n)/g, (match, arg1) => `#${opts.fragment}${arg1}`) : url += "#" + opts.fragment;
443
+ let url = ((_a = opts.url) == null ? void 0 : _a.startsWith("http")) ? opts.url : (this.url || "") + (opts.url || "");
444
+ url = url.replaceAll(/([^:]\/)\/+/g, "$1");
445
+ if (opts.fragment) url.includes("#") ? url.replace(/#.*(\?|\n)/g, (match, arg1) => `#${opts.fragment}${arg1}`) : `${url}#${opts.fragment}`;
330
446
  if (opts.query) {
331
447
  const q = Array.isArray(opts.query) ? opts.query : Object.keys(opts.query).map((k) => ({ key: k, value: opts.query[k] }));
332
448
  url += (url.includes("?") ? "&" : "?") + q.map((q2) => `${q2.key}=${q2.value}`).join("&");
@@ -368,13 +484,13 @@ const _Http = class _Http2 {
368
484
  push();
369
485
  }
370
486
  });
371
- resp.data = new Response(stream);
372
- if (opts.decode == null || opts.decode) {
487
+ resp = new HttpResponse(resp, stream);
488
+ if (opts.decode !== false) {
373
489
  const content = (_b = resp.headers.get("Content-Type")) == null ? void 0 : _b.toLowerCase();
374
- if (content == null ? void 0 : content.includes("form")) resp.data = await resp.data.formData();
375
- else if (content == null ? void 0 : content.includes("json")) resp.data = await resp.data.json();
376
- else if (content == null ? void 0 : content.includes("text")) resp.data = await resp.data.text();
377
- else if (content == null ? void 0 : content.includes("application")) resp.data = await resp.data.blob();
490
+ if (content == null ? void 0 : content.includes("form")) resp.data = await resp.formData();
491
+ else if (content == null ? void 0 : content.includes("json")) resp.data = await resp.json();
492
+ else if (content == null ? void 0 : content.includes("text")) resp.data = await resp.text();
493
+ else if (content == null ? void 0 : content.includes("application")) resp.data = await resp.blob();
378
494
  }
379
495
  if (resp.ok) res(resp);
380
496
  else rej(resp);
@@ -394,31 +510,13 @@ function jwtDecode(token) {
394
510
  }).join("")));
395
511
  }
396
512
  const CliEffects = {
397
- CLEAR: "\x1B[0m",
398
- BRIGHT: "\x1B[1m",
399
- DIM: "\x1B[2m",
400
- UNDERSCORE: "\x1B[4m",
401
- BLINK: "\x1B[5m",
402
- REVERSE: "\x1B[7m",
403
- HIDDEN: "\x1B[8m"
513
+ CLEAR: "\x1B[0m"
404
514
  };
405
515
  const CliForeground = {
406
- BLACK: "\x1B[30m",
407
516
  RED: "\x1B[31m",
408
- GREEN: "\x1B[32m",
409
517
  YELLOW: "\x1B[33m",
410
518
  BLUE: "\x1B[34m",
411
- MAGENTA: "\x1B[35m",
412
- CYAN: "\x1B[36m",
413
- LIGHT_GREY: "\x1B[37m",
414
- GREY: "\x1B[90m",
415
- LIGHT_RED: "\x1B[91m",
416
- LIGHT_GREEN: "\x1B[92m",
417
- LIGHT_YELLOW: "\x1B[93m",
418
- LIGHT_BLUE: "\x1B[94m",
419
- LIGHT_MAGENTA: "\x1B[95m",
420
- LIGHT_CYAN: "\x1B[96m",
421
- WHITE: "\x1B[97m"
519
+ LIGHT_GREY: "\x1B[37m"
422
520
  };
423
521
  const _Logger = class _Logger2 extends TypedEmitter {
424
522
  constructor(namespace) {
@@ -462,112 +560,6 @@ const _Logger = class _Logger2 extends TypedEmitter {
462
560
  }
463
561
  };
464
562
  __publicField2(_Logger, "LOG_LEVEL", 4);
465
- function formatDate(format = "YYYY-MM-DD H:mm", date = /* @__PURE__ */ new Date(), tz) {
466
- const timezones = [
467
- ["IDLW", -12],
468
- ["SST", -11],
469
- ["HST", -10],
470
- ["AKST", -9],
471
- ["PST", -8],
472
- ["MST", -7],
473
- ["CST", -6],
474
- ["EST", -5],
475
- ["AST", -4],
476
- ["BRT", -3],
477
- ["MAT", -2],
478
- ["AZOT", -1],
479
- ["UTC", 0],
480
- ["CET", 1],
481
- ["EET", 2],
482
- ["MSK", 3],
483
- ["AST", 4],
484
- ["PKT", 5],
485
- ["IST", 5.5],
486
- ["BST", 6],
487
- ["ICT", 7],
488
- ["CST", 8],
489
- ["JST", 9],
490
- ["AEST", 10],
491
- ["SBT", 11],
492
- ["FJT", 12],
493
- ["TOT", 13],
494
- ["LINT", 14]
495
- ];
496
- function adjustTz(date2, gmt) {
497
- const currentOffset = date2.getTimezoneOffset();
498
- const adjustedOffset = gmt * 60;
499
- return new Date(date2.getTime() + (adjustedOffset + currentOffset) * 6e4);
500
- }
501
- function day(num) {
502
- return ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"][num] || "Unknown";
503
- }
504
- function doy(date2) {
505
- const start = /* @__PURE__ */ new Date(`${date2.getFullYear()}-01-01 0:00:00`);
506
- return Math.ceil((date2.getTime() - start.getTime()) / (1e3 * 60 * 60 * 24));
507
- }
508
- function month(num) {
509
- return ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"][num] || "Unknown";
510
- }
511
- function suffix(num) {
512
- if (num % 100 >= 11 && num % 100 <= 13) return `${num}th`;
513
- switch (num % 10) {
514
- case 1:
515
- return `${num}st`;
516
- case 2:
517
- return `${num}nd`;
518
- case 3:
519
- return `${num}rd`;
520
- default:
521
- return `${num}th`;
522
- }
523
- }
524
- function tzOffset(offset) {
525
- const hours = ~~(offset / 60);
526
- const minutes = offset % 60;
527
- return (offset > 0 ? "-" : "") + `${hours}:${minutes.toString().padStart(2, "0")}`;
528
- }
529
- if (typeof date == "number" || typeof date == "string") date = new Date(date);
530
- let t;
531
- if (tz == null) tz = -(date.getTimezoneOffset() / 60);
532
- t = timezones.find((t2) => isNaN(tz) ? t2[0] == tz : t2[1] == tz);
533
- if (!t) throw new Error(`Unknown timezone: ${tz}`);
534
- date = adjustTz(date, t[1]);
535
- const tokens = {
536
- "YYYY": date.getFullYear().toString(),
537
- "YY": date.getFullYear().toString().slice(2),
538
- "MMMM": month(date.getMonth()),
539
- "MMM": month(date.getMonth()).slice(0, 3),
540
- "MM": (date.getMonth() + 1).toString().padStart(2, "0"),
541
- "M": (date.getMonth() + 1).toString(),
542
- "DDD": doy(date).toString(),
543
- "DD": date.getDate().toString().padStart(2, "0"),
544
- "Do": suffix(date.getDate()),
545
- "D": date.getDate().toString(),
546
- "dddd": day(date.getDay()),
547
- "ddd": day(date.getDay()).slice(0, 3),
548
- "HH": date.getHours().toString().padStart(2, "0"),
549
- "H": date.getHours().toString(),
550
- "hh": (date.getHours() % 12 || 12).toString().padStart(2, "0"),
551
- "h": (date.getHours() % 12 || 12).toString(),
552
- "mm": date.getMinutes().toString().padStart(2, "0"),
553
- "m": date.getMinutes().toString(),
554
- "ss": date.getSeconds().toString().padStart(2, "0"),
555
- "s": date.getSeconds().toString(),
556
- "SSS": date.getMilliseconds().toString().padStart(3, "0"),
557
- "A": date.getHours() >= 12 ? "PM" : "AM",
558
- "a": date.getHours() >= 12 ? "pm" : "am",
559
- "ZZ": tzOffset(t[1] * 60).replace(":", ""),
560
- "Z": tzOffset(t[1] * 60),
561
- "z": typeof tz == "string" ? tz : t[0]
562
- };
563
- return format.replace(/YYYY|YY|MMMM|MMM|MM|M|DDD|DD|Do|D|dddd|ddd|HH|H|hh|h|mm|m|ss|s|SSS|A|a|ZZ|Z|z/g, (token) => tokens[token]);
564
- }
565
- function sleep(ms) {
566
- return new Promise((res) => setTimeout(res, ms));
567
- }
568
- async function sleepWhile(fn, checkInterval = 100) {
569
- while (await fn()) await sleep(checkInterval);
570
- }
571
563
  var extendStatics = function(d, b) {
572
564
  extendStatics = Object.setPrototypeOf || { __proto__: [] } instanceof Array && function(d2, b2) {
573
565
  d2.__proto__ = b2;
@@ -787,11 +779,7 @@ function execFinalizer(finalizer) {
787
779
  }
788
780
  }
789
781
  var config = {
790
- onUnhandledError: null,
791
- onStoppedNotification: null,
792
- Promise: void 0,
793
- useDeprecatedSynchronousErrorHandling: false,
794
- useDeprecatedNextContext: false
782
+ Promise: void 0
795
783
  };
796
784
  var timeoutProvider = {
797
785
  setTimeout: function(handler, timeout) {
@@ -884,10 +872,6 @@ var Subscriber = function(_super) {
884
872
  };
885
873
  return Subscriber2;
886
874
  }(Subscription);
887
- var _bind = Function.prototype.bind;
888
- function bind(fn, thisArg) {
889
- return _bind.call(fn, thisArg);
890
- }
891
875
  var ConsumerObserver = function() {
892
876
  function ConsumerObserver2(partialObserver) {
893
877
  this.partialObserver = partialObserver;
@@ -938,18 +922,7 @@ var SafeSubscriber = function(_super) {
938
922
  complete: complete !== null && complete !== void 0 ? complete : void 0
939
923
  };
940
924
  } else {
941
- var context_1;
942
- if (_this && config.useDeprecatedNextContext) {
943
- context_1 = Object.create(observerOrNext);
944
- context_1.unsubscribe = function() {
945
- return _this.unsubscribe();
946
- };
947
- partialObserver = {
948
- next: observerOrNext.next && bind(observerOrNext.next, context_1),
949
- error: observerOrNext.error && bind(observerOrNext.error, context_1),
950
- complete: observerOrNext.complete && bind(observerOrNext.complete, context_1)
951
- };
952
- } else {
925
+ {
953
926
  partialObserver = observerOrNext;
954
927
  }
955
928
  }
@@ -1603,7 +1576,7 @@ let LoginPrompt = _LoginPrompt;
1603
1576
  class Auth {
1604
1577
  constructor(api) {
1605
1578
  /** Current user as an observable */
1606
- __publicField(this, "user$", new BehaviorSubject(null));
1579
+ __publicField(this, "user$", new BehaviorSubject(void 0));
1607
1580
  this.api = api;
1608
1581
  }
1609
1582
  /** Current user */
@@ -1797,7 +1770,7 @@ class Files {
1797
1770
  this.url = `${this.api.url}file`;
1798
1771
  }
1799
1772
  associate(fileIds, slice, row, field, execute = true) {
1800
- const req = { [`${execute ? "!" : "$"}/tools/file/update`]: { row, field, slice, ids: fileIds } };
1773
+ const req = { [`${execute ? "!" : "$"}/tools/file/update`]: { slice, row, field, ids: fileIds } };
1801
1774
  if (execute) return this.api.request(req);
1802
1775
  return req;
1803
1776
  }
@@ -2354,6 +2327,7 @@ let Slice = _Slice;
2354
2327
  class Socket {
2355
2328
  constructor(api, options = {}) {
2356
2329
  __publicField(this, "listeners", []);
2330
+ // [ Callback, Re-subscribe ]
2357
2331
  __publicField(this, "retry");
2358
2332
  __publicField(this, "socket");
2359
2333
  __publicField(this, "open", false);
@@ -2374,9 +2348,9 @@ class Socket {
2374
2348
  * @param {SocketListener} fn Callback function
2375
2349
  * @return {Unsubscribe} Function to unsubscribe callback
2376
2350
  */
2377
- addListener(fn) {
2378
- this.listeners.push(fn);
2379
- return () => this.listeners = this.listeners.filter((l) => l != fn);
2351
+ addListener(fn, reconnect) {
2352
+ this.listeners.push([fn, reconnect]);
2353
+ return () => this.listeners = this.listeners.filter((l) => l[0] != fn);
2380
2354
  }
2381
2355
  /**
2382
2356
  * Close socket connection
@@ -2414,11 +2388,12 @@ class Socket {
2414
2388
  if (payload.connected) {
2415
2389
  this.open = true;
2416
2390
  console.debug("Datalynk socket: connected");
2391
+ this.listeners.forEach((l) => l[1]());
2417
2392
  } else {
2418
2393
  throw new Error(`Datalynk socket failed: ${payload.error}`);
2419
2394
  }
2420
2395
  } else {
2421
- this.listeners.forEach((l) => l(payload));
2396
+ this.listeners.forEach((l) => l[0](payload));
2422
2397
  }
2423
2398
  };
2424
2399
  }
@@ -2441,15 +2416,12 @@ class Socket {
2441
2416
  * @return {Unsubscribe} Run returned function to unsubscribe callback
2442
2417
  */
2443
2418
  sliceEvents(slice, callback) {
2444
- let cancelled = false;
2445
- sleepWhile(() => !this.open).then(() => {
2446
- if (!cancelled) this.send({ onSliceEvents: slice });
2447
- });
2419
+ const listen = () => this.send({ onSliceEvents: slice });
2420
+ if (this.open) listen();
2448
2421
  const unsubscribe = this.addListener((event) => {
2449
2422
  if (event.type == "sliceEvents" && event.data.slice == slice) callback(event);
2450
- });
2423
+ }, () => listen());
2451
2424
  return () => {
2452
- cancelled = true;
2453
2425
  this.send({ offSliceEvents: slice });
2454
2426
  unsubscribe();
2455
2427
  };
@@ -2600,7 +2572,18 @@ class Api {
2600
2572
  * @return {Promise<any>} API Response
2601
2573
  */
2602
2574
  chain(...requests) {
2603
- return this.request({ "$/tools/action_chain": flattenArr(requests).map((r) => r instanceof Slice ? r.raw : r) });
2575
+ const arr = requests.length == 1 && Array.isArray(requests[0]) ? requests[0] : requests;
2576
+ return this.request({ "$/tools/action_chain": arr.map((r) => {
2577
+ if (!(r instanceof Slice)) return r;
2578
+ const req = r.raw;
2579
+ Object.keys(req).forEach((key) => {
2580
+ if (key.startsWith("$/")) {
2581
+ req[key.replace("$", "!")] = req[key];
2582
+ delete req[key];
2583
+ }
2584
+ });
2585
+ return req;
2586
+ }) });
2604
2587
  }
2605
2588
  /**
2606
2589
  * Organize multiple requests into a single mapped request
@@ -2609,7 +2592,17 @@ class Api {
2609
2592
  */
2610
2593
  chainMap(request) {
2611
2594
  return this.request({ "$/tools/do": [
2612
- ...Object.entries(request).flatMap(([key, r]) => [key, r instanceof Slice ? r == null ? void 0 : r.raw : r]),
2595
+ ...Object.entries(request).flatMap(([key, r]) => {
2596
+ if (!(r instanceof Slice)) return [key, r];
2597
+ const req = r.raw;
2598
+ Object.keys(req).forEach((key2) => {
2599
+ if (key2.startsWith("$/")) {
2600
+ req[key2.replace("$", "!")] = req[key2];
2601
+ delete req[key2];
2602
+ }
2603
+ });
2604
+ return [key, req];
2605
+ }),
2613
2606
  "returnAllBoilerplate",
2614
2607
  { "$_": "*" }
2615
2608
  ] }, {});
@@ -1,5 +1,4 @@
1
1
  import { Api } from './api';
2
-
3
2
  /** Styling options for login prompt */
4
3
  export type LoginPromptOptions = {
5
4
  /** Background CSS property, could be a hex: `#fffff` or a url: `url("...")` */
package/dist/pdf.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Api } from './api';
2
-
3
2
  /** Options when creating a PDF */
4
3
  export type PdfOptions = {
5
4
  /** Cookies PDF server should use */
package/dist/slice.d.ts CHANGED
@@ -1,7 +1,6 @@
1
1
  import { BehaviorSubject } from 'rxjs';
2
2
  import { Api, ApiRequestOptions } from './api';
3
3
  import { Unsubscribe } from './socket';
4
-
5
4
  /**
6
5
  * An object to aid in constructing Datalynk requests
7
6
  */
package/dist/socket.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  import { Api } from './api';
2
-
3
2
  export type SocketEvent<T> = {
4
3
  channel: string;
5
4
  spoke: string;
@@ -37,7 +36,7 @@ export declare class Socket {
37
36
  * @param {SocketListener} fn Callback function
38
37
  * @return {Unsubscribe} Function to unsubscribe callback
39
38
  */
40
- addListener(fn: SocketListener): Unsubscribe;
39
+ addListener(fn: SocketListener, reconnect: () => void): Unsubscribe;
41
40
  /**
42
41
  * Close socket connection
43
42
  */
@@ -1 +1 @@
1
- {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAA;CACP,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,MAAM,aAAa,GAAG;IAC3B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CACpB,CAAA;AAED,qBAAqB;AACrB,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;AACrE,8CAA8C;AAC9C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,iCAAiC;AACjC,qBAAa,MAAM;IAON,OAAO,CAAC,QAAQ,CAAC,GAAG;aAAuB,OAAO,EAAE,aAAa;IAN7E,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,KAAK,CAAC,CAAM;IACpB,OAAO,CAAC,MAAM,CAAC,CAAY;IAE3B,IAAI,UAAS;gBAEgB,GAAG,EAAE,GAAG,EAAkB,OAAO,GAAE,aAAkB;IAalF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,cAAc,GAAG,WAAW;IAK5C;;OAEG;IACH,KAAK;IASL;;;OAGG;IACH,OAAO,CAAC,OAAO,GAAE,MAAW;IA8B5B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,GAAG;IAKjB;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG,WAAW;CAmBlH"}
1
+ {"version":3,"file":"socket.d.ts","sourceRoot":"","sources":["../src/socket.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAA;CACP,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,WAAW,CAAC;IAC1C,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,OAAO,EAAE,MAAM,EAAE,CAAC;CAClB,CAAC,CAAC;AAEH,yBAAyB;AACzB,MAAM,MAAM,aAAa,GAAG;IAC3B,+CAA+C;IAC/C,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CACpB,CAAA;AAED,qBAAqB;AACrB,MAAM,MAAM,cAAc,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;AACrE,8CAA8C;AAC9C,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,iCAAiC;AACjC,qBAAa,MAAM;IAON,OAAO,CAAC,QAAQ,CAAC,GAAG;aAAuB,OAAO,EAAE,aAAa;IAN7E,OAAO,CAAC,SAAS,CAAoC;IACrD,OAAO,CAAC,KAAK,CAAC,CAAM;IACpB,OAAO,CAAC,MAAM,CAAC,CAAY;IAE3B,IAAI,UAAS;gBAEgB,GAAG,EAAE,GAAG,EAAkB,OAAO,GAAE,aAAkB;IAalF;;;;;OAKG;IACH,WAAW,CAAC,EAAE,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,IAAI,GAAG,WAAW;IAKnE;;OAEG;IACH,KAAK;IASL;;;OAGG;IACH,OAAO,CAAC,OAAO,GAAE,MAAW;IAgC5B;;;;OAIG;IACH,IAAI,CAAC,OAAO,EAAE,GAAG;IAKjB;;;;;;OAMG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,MAAM,GAAG,MAAM,EAAE,EAAE,QAAQ,EAAE,cAAc,CAAC,gBAAgB,CAAC,GAAG,WAAW;CAclH"}
@@ -1,5 +1,4 @@
1
1
  import { Api } from './api';
2
-
3
2
  /**
4
3
  * Superuser helpers
5
4
  */
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@auxilium/datalynk-client",
3
3
  "description": "Datalynk client library",
4
4
  "repository": "https://gitlab.auxiliumgroup.com/auxilium/datalynk/datalynk-client",
5
- "version": "1.0.0",
5
+ "version": "1.0.3",
6
6
  "author": "Zak Timson <zaktimson@gmail.com>",
7
7
  "private": false,
8
8
  "main": "./dist/index.cjs",
@@ -10,9 +10,9 @@
10
10
  "types": "./dist/index.d.ts",
11
11
  "exports": {
12
12
  ".": {
13
+ "types": "./dist/index.d.ts",
13
14
  "import": "./dist/index.mjs",
14
- "require": "./dist/index.cjs",
15
- "types": "./dist/index.d.ts"
15
+ "require": "./dist/index.cjs"
16
16
  }
17
17
  },
18
18
  "bin": {
@@ -26,16 +26,16 @@
26
26
  },
27
27
  "dependencies": {
28
28
  "@ztimson/node-utils": "^1.0.0",
29
- "@ztimson/utils": "0.23.8",
30
- "rxjs": "^7.8.1"
29
+ "@ztimson/utils": "^0.23.22",
30
+ "rxjs": "^7.8.2"
31
31
  },
32
32
  "devDependencies": {
33
- "@types/node": "^20.14.10",
33
+ "@types/node": "^20.14.15",
34
34
  "ts-node": "^10.9.2",
35
- "typedoc": "^0.26.7",
36
- "typescript": "^5.5.3",
37
- "vite": "^5.0.12",
38
- "vite-plugin-dts": "^3.7.2"
35
+ "typedoc": "^0.28.2",
36
+ "typescript": "^5.8.3",
37
+ "vite": "^6.2.6",
38
+ "vite-plugin-dts": "^4.5.3"
39
39
  },
40
40
  "files": [
41
41
  "cli",