@antelopejs/interface-data-api 0.1.7 → 0.1.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.
@@ -7,25 +7,25 @@ exports.default = (0, config_1.defineConfig)({
7
7
  name: "interface-data-api-test",
8
8
  cacheFolder: ".antelope/cache",
9
9
  modules: {
10
- mongodb: {
11
- source: {
12
- type: "package",
13
- package: "@antelopejs/mongodb",
14
- version: "1.2.1",
10
+ local: {
11
+ source: { type: "local", path: "." },
12
+ importOverrides: {
13
+ "@antelopejs/interface-api": "api",
14
+ "@antelopejs/interface-database": "mongodb",
15
15
  },
16
16
  },
17
- database_decorators: {
17
+ mongodb: {
18
18
  source: {
19
19
  type: "package",
20
- package: "@antelopejs/database-decorators",
21
- version: "1.1.1",
20
+ package: "@antelopejs/mongodb",
21
+ version: "1.2.7",
22
22
  },
23
23
  },
24
24
  api: {
25
25
  source: {
26
26
  type: "package",
27
27
  package: "@antelopejs/api",
28
- version: "1.0.0",
28
+ version: "1.2.4",
29
29
  },
30
30
  config: {
31
31
  servers: [{ protocol: "http", host: "127.0.0.1", port: 5010 }],
@@ -1 +1 @@
1
- {"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../src/antelope.test.ts"],"names":[],"mappings":";;AAAA,8DAAiE;AACjE,2EAA+D;AAE/D,IAAI,MAAyB,CAAC;AAE9B,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,mBAAmB,EAAE;YACnB,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iCAAiC;gBAC1C,OAAO,EAAE,OAAO;aACjB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,OAAO;aACjB;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC/D;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY;QACpB,KAAK,CAAC,KAAK;YACT,MAAM,GAAG,MAAM,8CAAiB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;qBAC9D;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KACF;CACF,CAAC,CAAC"}
1
+ {"version":3,"file":"antelope.test.js","sourceRoot":"","sources":["../src/antelope.test.ts"],"names":[],"mappings":";;AAAA,8DAAiE;AACjE,2EAA+D;AAE/D,IAAI,MAAyB,CAAC;AAE9B,kBAAe,IAAA,qBAAY,EAAC;IAC1B,IAAI,EAAE,yBAAyB;IAC/B,WAAW,EAAE,iBAAiB;IAC9B,OAAO,EAAE;QACP,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE;YACpC,eAAe,EAAE;gBACf,2BAA2B,EAAE,KAAK;gBAClC,gCAAgC,EAAE,SAAS;aAC5C;SACF;QACD,OAAO,EAAE;YACP,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,qBAAqB;gBAC9B,OAAO,EAAE,OAAO;aACjB;SACF;QACD,GAAG,EAAE;YACH,MAAM,EAAE;gBACN,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,iBAAiB;gBAC1B,OAAO,EAAE,OAAO;aACjB;YACD,MAAM,EAAE;gBACN,OAAO,EAAE,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;aAC/D;SACF;KACF;IACD,IAAI,EAAE;QACJ,MAAM,EAAE,YAAY;QACpB,KAAK,CAAC,KAAK;YACT,MAAM,GAAG,MAAM,8CAAiB,CAAC,MAAM,EAAE,CAAC;YAC1C,OAAO;gBACL,OAAO,EAAE;oBACP,OAAO,EAAE;wBACP,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE;qBAC9D;iBACF;aACF,CAAC;QACJ,CAAC;QACD,KAAK,CAAC,OAAO;YACX,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;KACF;CACF,CAAC,CAAC"}
@@ -4,6 +4,7 @@ import type { DataModel } from "@antelopejs/interface-database-decorators/model"
4
4
  import type { DataAPIMeta, FilterValue } from "./metadata";
5
5
  export declare namespace Parameters {
6
6
  export function GetOptionOverrides<T extends Record<string, any>>(reqCtx: RequestContext): T;
7
+ /** Extracts request filters and mandatory route filters, with route field keys winning. Returns fresh tuples. */
7
8
  export function ExtractFilters(reqCtx: RequestContext, meta: DataAPIMeta): Record<string, FilterValue>;
8
9
  const converters: {
9
10
  number: (val: string) => number;
@@ -17,6 +18,7 @@ export declare namespace Parameters {
17
18
  };
18
19
  export function ExtractGeneric<T extends Record<string, any>>(reqCtx: RequestContext, meta: DataAPIMeta, dynamic: GenericParams<Partial<T>>): Partial<T>;
19
20
  export interface ListParameters {
21
+ /** Mandatory route filters when supplied through WithOptions; combined with request filters by field key. */
20
22
  filters?: Record<string, FilterValue>;
21
23
  offset?: number;
22
24
  limit?: number;
@@ -63,7 +65,26 @@ export declare namespace Query {
63
65
  function ReadProperties(obj: any, meta: DataAPIMeta, dbData: any, action?: string, onlyList?: boolean): Promise<Record<string, any>>;
64
66
  function WriteProperties(obj: any, meta: DataAPIMeta, bodyData: Record<string, any>, action?: string, existingDBData?: Record<string, any>): Promise<Record<string, any>>;
65
67
  function Get(table: Table<any>, id: string | ValueProxy<string>, index?: string): Datum<any>;
66
- function List<T extends Record<string, any>>(obj: any, meta: DataAPIMeta, request: Table<T>, reqCtx: RequestContext, sorting?: [string, "asc" | "desc" | undefined], filters?: Record<string, FilterValue>, db?: SchemaInstance<any>): [sorted: Stream<T>, total: Datum<number>, deferredJoined: Set<string>];
68
+ interface ListOptions {
69
+ /**
70
+ * Return the joined field names {@link List} did not materialize as the
71
+ * third tuple element instead of a self-resolving stream, leaving their
72
+ * page-time resolution to the caller. The default list route uses this
73
+ * to restrict the page lookups to the plucked fields.
74
+ */
75
+ exposeDeferredJoined?: boolean;
76
+ }
77
+ /**
78
+ * Builds the filtered and sorted stream of a list request along with its
79
+ * total count. Joined fields that no filter or sort references are not
80
+ * materialized in either pipeline; by default the returned stream resolves
81
+ * them itself once the caller pages it (or otherwise observes rows), so the
82
+ * third tuple element is empty. With
83
+ * {@link ListOptions.exposeDeferredJoined} — or when no `db` is provided,
84
+ * since no lookup can be built without one — the raw stream is returned
85
+ * and the third element names the joined fields left for the caller.
86
+ */
87
+ function List<T extends Record<string, any>>(obj: any, meta: DataAPIMeta, request: Table<T>, reqCtx: RequestContext, sorting?: [string, "asc" | "desc" | undefined], filters?: Record<string, FilterValue>, db?: SchemaInstance<any>, options?: ListOptions): [sorted: Stream<T>, total: Datum<number>, deferredJoined: Set<string>];
67
88
  function Delete(table: Table<any>, id: string | string[]): import("@antelopejs/interface-database").Query<number>;
68
89
  }
69
90
  export declare namespace Validation {
@@ -13,6 +13,7 @@ var Parameters;
13
13
  return reqCtx.dataAPIEntry?.options ?? {};
14
14
  }
15
15
  Parameters.GetOptionOverrides = GetOptionOverrides;
16
+ /** Extracts request filters and mandatory route filters, with route field keys winning. Returns fresh tuples. */
16
17
  function ExtractFilters(reqCtx, meta) {
17
18
  const result = {};
18
19
  for (const filter of Object.keys(meta.filters)) {
@@ -25,6 +26,10 @@ var Parameters;
25
26
  : [searchVal, "eq"];
26
27
  }
27
28
  }
29
+ const overrides = GetOptionOverrides(reqCtx);
30
+ for (const [key, value] of Object.entries(overrides.filters ?? {})) {
31
+ result[key] = [...value];
32
+ }
28
33
  return result;
29
34
  }
30
35
  Parameters.ExtractFilters = ExtractFilters;
@@ -38,7 +43,7 @@ var Parameters;
38
43
  const overrides = GetOptionOverrides(reqCtx);
39
44
  const result = { ...overrides };
40
45
  for (const key of Object.keys(dynamic)) {
41
- if (!(key in result)) {
46
+ if (!(key in result) || dynamic[key] === ExtractFilters) {
42
47
  const extractor = dynamic[key];
43
48
  if (typeof extractor === "string") {
44
49
  if (extractor.startsWith("multi:")) {
@@ -300,6 +305,115 @@ var Query;
300
305
  .filter(([name, field]) => field.joined && !split.filter.has(name) && !split.sort.has(name))
301
306
  .map(([name]) => name));
302
307
  }
308
+ /**
309
+ * Stream returned by {@link List} when the deferred joined fields are not
310
+ * exposed to the caller: it resolves them itself, so consumers that
311
+ * destructure `[query, total]` alone still observe every `@Joined` field.
312
+ * The lookups are appended after `slice`/`nth`, keeping them on the
313
+ * requested page only; bare `count()` calls and field aggregates on
314
+ * non-joined fields skip them (left-join lookups never change the row
315
+ * count nor other fields); `changes()` attaches to the raw stream, since
316
+ * change feeds cannot carry the lookups. Any other operation may observe
317
+ * the joined fields, so it materializes them first.
318
+ */
319
+ class DeferredJoinedStream extends interface_database_1.Stream {
320
+ }
321
+ function materializeDeferredJoin(stream) {
322
+ const { db, meta, names, raw } = stream.deferredJoin;
323
+ return Joined(db, meta, raw, names);
324
+ }
325
+ function pagedDeferredJoinOperation(name) {
326
+ return function (...args) {
327
+ const { db, meta, names, raw } = this.deferredJoin;
328
+ const paged = raw[name](...args);
329
+ return Joined(db, meta, paged, names);
330
+ };
331
+ }
332
+ /**
333
+ * Resolves the joined fields through the stream form of {@link Joined}
334
+ * rather than its datum form: only the datum form has no way to drop the
335
+ * temporary key it stages (neither `Datum` nor `ValueProxy` exposes
336
+ * `without`), so it would leave `__joined_orig_*` on the row.
337
+ */
338
+ function nthDeferredJoinOperation() {
339
+ return function (n) {
340
+ const { db, meta, names, raw } = this.deferredJoin;
341
+ return Joined(db, meta, raw.slice(n, 1), names).nth(0);
342
+ };
343
+ }
344
+ function rawDeferredJoinOperation(name) {
345
+ return function (...args) {
346
+ return this.deferredJoin.raw[name](...args);
347
+ };
348
+ }
349
+ function fieldAggregateDeferredJoinOperation(name, bareCallOnRaw) {
350
+ return function (field) {
351
+ const { db, meta, names, raw } = this.deferredJoin;
352
+ if (!field) {
353
+ const bareTarget = bareCallOnRaw ? raw : materializeDeferredJoin(this);
354
+ return bareTarget[name]();
355
+ }
356
+ const target = names.has(field)
357
+ ? Joined(db, meta, raw, new Set([field]))
358
+ : raw;
359
+ return target[name](field);
360
+ };
361
+ }
362
+ function forwardingDeferredJoinOperation(name) {
363
+ return function (...args) {
364
+ return materializeDeferredJoin(this)[name](...args);
365
+ };
366
+ }
367
+ const DEFERRED_JOIN_OPERATION_FACTORIES = {
368
+ slice: pagedDeferredJoinOperation,
369
+ nth: nthDeferredJoinOperation,
370
+ changes: rawDeferredJoinOperation,
371
+ count: (name) => fieldAggregateDeferredJoinOperation(name, true),
372
+ sum: (name) => fieldAggregateDeferredJoinOperation(name, false),
373
+ avg: (name) => fieldAggregateDeferredJoinOperation(name, false),
374
+ min: (name) => fieldAggregateDeferredJoinOperation(name, false),
375
+ max: (name) => fieldAggregateDeferredJoinOperation(name, false),
376
+ distinct: (name) => fieldAggregateDeferredJoinOperation(name, false),
377
+ };
378
+ const DEFERRED_JOIN_INHERITED_OPERATIONS = new Set(["constructor", "cast"]);
379
+ function wireDeferredJoinedStream() {
380
+ const operationNames = [
381
+ ...Object.getOwnPropertyNames(interface_database_1.Stream.prototype),
382
+ "run",
383
+ "cursor",
384
+ "build",
385
+ ].filter((name) => !DEFERRED_JOIN_INHERITED_OPERATIONS.has(name));
386
+ for (const name of operationNames) {
387
+ const factory = DEFERRED_JOIN_OPERATION_FACTORIES[name] ??
388
+ forwardingDeferredJoinOperation;
389
+ DeferredJoinedStream.prototype[name] = factory(name);
390
+ }
391
+ }
392
+ wireDeferredJoinedStream();
393
+ /**
394
+ * Wraps `raw` into a {@link DeferredJoinedStream}. The wrapper keeps the
395
+ * raw stages as its own (an unobservable fallback, since every operation
396
+ * is overridden) while `build()` serializes the materialized pipeline, so
397
+ * a wrapper embedded as an argument of another query never leaks rows
398
+ * without the joined fields.
399
+ */
400
+ function wrapDeferredJoined(db, meta, names, raw) {
401
+ const wrapped = Object.create(DeferredJoinedStream.prototype);
402
+ wrapped.stages = raw.build();
403
+ wrapped.deferredJoin = { db, meta, names, raw };
404
+ return wrapped;
405
+ }
406
+ function listResultTuple(tmpRequest, total, meta, joinedSplit, db, options) {
407
+ const deferredJoined = deferredJoinedFields(meta, joinedSplit);
408
+ if (options?.exposeDeferredJoined || !db || deferredJoined.size === 0) {
409
+ return [tmpRequest, total, deferredJoined];
410
+ }
411
+ return [
412
+ wrapDeferredJoined(db, meta, deferredJoined, tmpRequest),
413
+ total,
414
+ new Set(),
415
+ ];
416
+ }
303
417
  function resolveSchemaDb(sourceDb, schemaName) {
304
418
  if (!schemaName)
305
419
  return sourceDb;
@@ -458,7 +572,17 @@ var Query;
458
572
  : table.get(id);
459
573
  }
460
574
  Query.Get = Get;
461
- function List(obj, meta, request, reqCtx, sorting, filters, db) {
575
+ /**
576
+ * Builds the filtered and sorted stream of a list request along with its
577
+ * total count. Joined fields that no filter or sort references are not
578
+ * materialized in either pipeline; by default the returned stream resolves
579
+ * them itself once the caller pages it (or otherwise observes rows), so the
580
+ * third tuple element is empty. With
581
+ * {@link ListOptions.exposeDeferredJoined} — or when no `db` is provided,
582
+ * since no lookup can be built without one — the raw stream is returned
583
+ * and the third element names the joined fields left for the caller.
584
+ */
585
+ function List(obj, meta, request, reqCtx, sorting, filters, db, options) {
462
586
  const filterList = Object.entries(meta.filters).filter(([name]) => filters && name in filters);
463
587
  const indexFilter = filterList.find(([name]) => filters?.[name][1] === "eq" && meta.fields[name]?.indexable)?.[0];
464
588
  const index = indexFilter
@@ -507,7 +631,7 @@ var Query;
507
631
  if (shouldSort && !shouldSort.indexed && sortField) {
508
632
  tmpRequest = tmpRequest.orderBy(sortField, sorting?.[1] ?? "asc");
509
633
  }
510
- return [tmpRequest, total, deferredJoinedFields(meta, joinedSplit)];
634
+ return listResultTuple(tmpRequest, total, meta, joinedSplit, db, options);
511
635
  }
512
636
  Query.List = List;
513
637
  function Delete(table, id) {
@@ -1 +1 @@
1
- {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -26,11 +26,21 @@ export declare function DataController<C extends Class, P extends DataController
26
26
  export declare const RegisterDataController: () => import("@antelopejs/interface-core/decorators").ClassDecorator<Class<any, any[]>>;
27
27
  export declare function GetDataControllerMeta(thisObj: any): DataAPIMeta;
28
28
  export declare namespace DefaultRoutes {
29
+ /** Receives the loaded, unlocked model before readable fields are selected. Throw to deny the read. */
30
+ type GetGuard = (this: unknown, ctx: RequestContext, current: Record<string, any>, params: Parameters.GetParameters) => void | Promise<void>;
29
31
  const Get: {
30
- func: (_reqCtx: RequestContext, params: Parameters.GetParameters) => Promise<Record<string, any>>;
32
+ func: (reqCtx: RequestContext, params: Parameters.GetParameters, guard?: GetGuard) => Promise<Record<string, any>>;
31
33
  args: (import("@antelopejs/interface-core/decorators").PropertyDecorator & ParameterDecorator)[];
32
34
  method: string;
33
35
  };
36
+ /**
37
+ * Creates a Get route with an awaited guard after loading and unlocking the
38
+ * model, before response projection/transformation. Uses the same query and
39
+ * preserves controller `this` and request context. Missing rows remain 404.
40
+ * The guard must treat the model as read-only; it includes non-readable fields
41
+ * and the normal Get joined/computed/foreign data, not the response DTO.
42
+ */
43
+ function WithGetGuard(guard: GetGuard): DataControllerCallback<Parameters.GetParameters>;
34
44
  const List: {
35
45
  func: (reqCtx: RequestContext, params: Parameters.ListParameters) => Promise<{
36
46
  results: Record<string, any>[];
@@ -58,7 +68,7 @@ export declare namespace DefaultRoutes {
58
68
  };
59
69
  const All: {
60
70
  readonly get: {
61
- func: (_reqCtx: RequestContext, params: Parameters.GetParameters) => Promise<Record<string, any>>;
71
+ func: (reqCtx: RequestContext, params: Parameters.GetParameters, guard?: GetGuard) => Promise<Record<string, any>>;
62
72
  args: (import("@antelopejs/interface-core/decorators").PropertyDecorator & ParameterDecorator)[];
63
73
  method: string;
64
74
  };
package/dist/index.js CHANGED
@@ -99,7 +99,7 @@ function displayOnlyJoinedFields(deferred, params, pluck, materializeAll) {
99
99
  var DefaultRoutes;
100
100
  (function (DefaultRoutes) {
101
101
  class Methods {
102
- async get(_reqCtx, params) {
102
+ async get(reqCtx, params, guard) {
103
103
  const meta = GetDataControllerMeta(this);
104
104
  const model = components_1.Query.GetModel(this, meta);
105
105
  let query = components_1.Query.Get(model.table, params.id, params.index);
@@ -111,6 +111,7 @@ var DefaultRoutes;
111
111
  const dbResult = model.constructor.fromDatabase(await query);
112
112
  (0, interface_api_util_1.assert)(dbResult, 404, "Not Found");
113
113
  components_1.Validation.Unlock(this, meta, dbResult);
114
+ await guard?.call(this, reqCtx, dbResult, params);
114
115
  const results = await components_1.Query.ReadProperties(this, meta, dbResult, "get");
115
116
  components_1.Validation.ClearInternal(meta, results);
116
117
  return results;
@@ -121,7 +122,7 @@ var DefaultRoutes;
121
122
  const sort = params?.sortKey
122
123
  ? [params.sortKey, params.sortDirection]
123
124
  : undefined;
124
- let [query, queryTotal, deferredJoined] = components_1.Query.List(this, meta, model.table, reqCtx, sort, params?.filters, model.database);
125
+ let [query, queryTotal, deferredJoined] = components_1.Query.List(this, meta, model.table, reqCtx, sort, params?.filters, model.database, { exposeDeferredJoined: true });
125
126
  const pluck = meta.pluck[params.pluckMode ?? "list"];
126
127
  (0, interface_api_util_1.assert)(params.noPluck || pluck, 400, `No fields found for pluckMode '${params.pluckMode ?? "list"}'`);
127
128
  if (!params.noForeign) {
@@ -203,6 +204,22 @@ var DefaultRoutes;
203
204
  args: [(0, interface_api_1.Context)(), components_1.Parameters.Get()],
204
205
  method: "get",
205
206
  };
207
+ /**
208
+ * Creates a Get route with an awaited guard after loading and unlocking the
209
+ * model, before response projection/transformation. Uses the same query and
210
+ * preserves controller `this` and request context. Missing rows remain 404.
211
+ * The guard must treat the model as read-only; it includes non-readable fields
212
+ * and the normal Get joined/computed/foreign data, not the response DTO.
213
+ */
214
+ function WithGetGuard(guard) {
215
+ return {
216
+ ...DefaultRoutes.Get,
217
+ func: function (ctx, params) {
218
+ return Methods.prototype.get.call(this, ctx, params, guard);
219
+ },
220
+ };
221
+ }
222
+ DefaultRoutes.WithGetGuard = WithGetGuard;
206
223
  DefaultRoutes.List = {
207
224
  func: Methods.prototype.list,
208
225
  args: [(0, interface_api_1.Context)(), components_1.Parameters.List()],
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AAwDA,wCAqCC;AAyCD,sDAMC;AA5ID,8DAAkC;AAClC,6DAQmC;AACnC,uEAAwD;AACxD,+DAAyD;AACzD,sEAI+C;AAC/C,6FAGmD;AACnD,uFAA0F;AAC1F,6EAAsF;AACtF,6CAA6D;AAC7D,yCAAyC;AA4BzC,MAAe,WAAW;IACxB,KAAK,CAAmB;CACzB;AAED,SAAgB,cAAc,CAK5B,UAAa,EACb,GAAM,EACN,IAAU;IAEV,MAAM,CAAC,GAAG,KAAM,SAAQ,IAAI;QAC1B,KAAK,CAAmB;KACzB,CAAC;IACF,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,CAAC,EAAE,sBAAW,CAAC,CAAC;IACzC,MAAM,aAAa,GAAG,IAAA,2CAAW,EAAC,UAAU,EAAE,mDAAmB,CAAC,CAAC;IACnE,IAAI,CAAC,UAAU,GAAG,aAAa,CAAC,UAAU,IAAI,SAAS,CAAC;IAExD,MAAM,cAAc,GAAG,IAAA,2BAAkB,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC3D,IAAA,qBAAO,EAAC,cAAc,EAAE,8BAA8B,CAAC,CAAC;IAExD,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,IAAI,CACnD,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,KAAK,KAAK,UAAU,CACpC,EAAE,CAAC,CAAC,CAAC,CAAC;IACP,IAAA,qBAAO,EAAC,SAAS,EAAE,6BAA6B,CAAC,CAAC;IAElD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAE3B,KAAK,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAC7C,MAAM,KAAK,GACT,MAAM,IAAI,GAAG;YACX,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE;YAClC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;QAChC,IAAI,CAAC,WAAW,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QAC7B,wCAAwC;QACxC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;IACzC,CAAC;IACD,OAAO,CAAQ,CAAC;AAClB,CAAC;AAEY,QAAA,sBAAsB,GAAG,IAAA,+BAAkB,EAAC,CAAC,MAAM,EAAE,EAAE;IAClE,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAC,MAAM,EAAE,sBAAW,CAAC,CAAC;IAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QAC1D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACnC,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,KAAK,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC;oBACvB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,MAAM,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAChC,CAAC;QACH,CAAC;QACD,MAAM,IAAI,GAAG,IAAA,4BAAW,EAAM,MAAM,EAAE,8BAAc,CAAC,CAAC;QACtD,MAAM,YAAY,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,EAAE,CAAC,OAAO,CACtE,MAAM,EACN,GAAG,CACJ,CAAC;QACF,IAAA,6BAAa,EAAC;YACZ,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE;gBAChB,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YAC3B,CAAC;YACD,QAAQ,EAAE,YAAY;YACtB,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM;YAC7B,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC;YACvD,UAAU,EAAE,IAAI,CAAC,cAAc;YAC/B,KAAK,EAAE,MAAM,CAAC,SAAS;SACxB,CAAC,CAAC;QACH,IAAA,qBAAK,EAAC,SAAS,EAAE,KAAK,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CACrD,MAAM,CAAC,SAAS,EAChB,GAAG,EACH;YACE,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI;SAC3B,CACF,CAAC;IACJ,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAgB,qBAAqB,CAAC,OAAY;IAChD,OAAO,IAAA,4BAAW,EAChB,MAAM,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAC1C,sBAAW,EACX,IAAI,CACL,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,IAAiB,EACjB,MAAiC,EACjC,KAA8B;IAE9B,MAAM,eAAe,GAAG,IAAI,GAAG,CAC7B,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,CACzE,CAAC;IACF,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IACD,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC;SACtC,MAAM,CACL,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAChB,KAAK,CAAC,QAAQ;QACd,CAAC,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC;QAC1B,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CACvC;SACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,SAAS,uBAAuB,CAC9B,QAAqB,EACrB,MAAiC,EACjC,KAA8B,EAC9B,cAAuB;IAEvB,IAAI,cAAc,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,MAAM,CACvC,CAAC,IAAI,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,CAC7C,CAAC;IACF,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;AACxB,CAAC;AAED,IAAiB,aAAa,CAkR7B;AAlRD,WAAiB,aAAa;IAS5B,MAAM,OAAO;QACX,KAAK,CAAC,GAAG,CACP,MAAsB,EACtB,MAAgC,EAChC,KAAgB;YAEhB,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAI,KAAK,GAAG,kBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YAE5D,KAAK,GAAG,kBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAClD,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAEpD,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,kBAAK,CAAC,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YAED,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,CAAC;YAC7D,IAAA,2BAAM,EAAC,QAAQ,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;YACnC,uBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YACxC,MAAM,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;YAElD,MAAM,OAAO,GAAG,MAAM,kBAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAExE,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAExC,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,KAAK,CAAC,IAAI,CAAC,MAAsB,EAAE,MAAiC;YAClE,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,MAAM,IAAI,GAAG,MAAM,EAAE,OAAO;gBAC1B,CAAC,CAAE,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,aAAa,CAGpC;gBACJ,CAAC,CAAC,SAAS,CAAC;YACd,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,cAAc,CAAC,GAAG,kBAAK,CAAC,IAAI,CAClD,IAAI,EACJ,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,MAAM,EACN,IAAI,EACJ,MAAM,EAAE,OAAO,EACf,KAAK,CAAC,QAAQ,EACd,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAC/B,CAAC;YAEF,MAAM,KAAK,GACT,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,SAAS,IAAI,MAAM,CAAC,CAAC;YACzC,IAAA,2BAAM,EACJ,MAAM,CAAC,OAAO,IAAI,KAAK,EACvB,GAAG,EACH,kCAAkC,MAAM,CAAC,SAAS,IAAI,MAAM,GAAG,CAChE,CAAC;YAEF,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,GAAG,kBAAK,CAAC,OAAO,CACnB,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,KAAK,EACL,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CACnC,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,CAAC,CAAC;YAClC,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;YACjC,IAAI,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;YAE5C,MAAM,eAAe,GAAG,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YACvE,sEAAsE;YACtE,qEAAqE;YACrE,uEAAuE;YACvE,wEAAwE;YACxE,yEAAyE;YACzE,MAAM,aAAa,GAAG,uBAAuB,CAC3C,cAAc,EACd,MAAM,EACN,KAAK,EACL,eAAe,CAAC,IAAI,GAAG,CAAC,CACzB,CAAC;YACF,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC3B,UAAU,GAAG,kBAAK,CAAC,MAAM,CACvB,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,UAAU,EACV,aAAa,CACd,CAAC;YACJ,CAAC;YAED,IAAI,eAAe,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC7B,UAAU,GAAG,kBAAK,CAAC,QAAQ,CACzB,KAAK,CAAC,QAAQ,EACd,IAAI,EACJ,UAAU,EACV,eAAe,CAChB,CAAC;YACJ,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;gBAC7B,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;YAExE,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACrB,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAC5D,uBAAU,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;gBAC7C,OAAO,kBAAK,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;YACjE,CAAC,CAAC,CACH,CAAC;YAEF,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAExC,OAAO;gBACL,OAAO;gBACP,KAAK,EAAE,OAAO;gBACd,MAAM;gBACN,KAAK;aACN,CAAC;QACJ,CAAC;QAED,KAAK,CAAC,GAAG,CACP,OAAuB,EACvB,MAAgC,EAChC,IAAY;YAEZ,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,uBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE3C,MAAM,MAAM,GAAG,MAAM,kBAAK,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;YACpE,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YACzC,IAAA,qBAAY,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/B,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAElD,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,KAAK,CAAC,IAAI,CACR,OAAuB,EACvB,MAAiC,EACjC,IAAY;YAEZ,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,uBAAU,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,CAAC;YACD,MAAM,uBAAU,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAE3C,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEzC,MAAM,aAAa,GAAG,kBAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;YACtE,MAAM,gBAAgB,GAAG,MAAM,aAAa,CAAC;YAE7C,MAAM,MAAM,GAAG,MAAM,kBAAK,CAAC,eAAe,CACxC,IAAI,EACJ,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,gBAAgB,CACjB,CAAC;YACF,uBAAU,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YAEpC,IAAA,qBAAY,EAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAC/B,MAAM,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAuB,EAAE,MAAmC;YACvE,MAAM,IAAI,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAEzC,MAAM,KAAK,GAAG,kBAAK,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;YACnD,0FAA0F;YAE1F,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC;YAC7B,OAAO,QAAQ,CAAC;QAClB,CAAC;KACF;IAEY,iBAAG,GAAG;QACjB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAC3B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,GAAG,EAAE,CAAC;QACnC,MAAM,EAAE,KAAK;KACd,CAAC;IAEF;;;;;;OAMG;IACH,SAAgB,YAAY,CAC1B,KAAe;QAEf,OAAO;YACL,GAAG,cAAA,GAAG;YACN,IAAI,EAAE,UAAU,GAAG,EAAE,MAAM;gBACzB,OAAO,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;SACF,CAAC;IACJ,CAAC;IATe,0BAAY,eAS3B,CAAA;IAEY,kBAAI,GAAG;QAClB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI;QAC5B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,IAAI,EAAE,CAAC;QACpC,MAAM,EAAE,KAAK;KACd,CAAC;IACW,iBAAG,GAAG;QACjB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG;QAC3B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,GAAG,EAAE,EAAE,IAAA,uBAAO,GAAE,CAAC;QAC9C,MAAM,EAAE,MAAM;KACf,CAAC;IACW,kBAAI,GAAG;QAClB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,IAAI;QAC5B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,IAAI,EAAE,EAAE,IAAA,uBAAO,GAAE,CAAC;QAC/C,MAAM,EAAE,KAAK;KACd,CAAC;IACW,oBAAM,GAAG;QACpB,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,MAAM;QAC9B,IAAI,EAAE,CAAC,IAAA,uBAAO,GAAE,EAAE,uBAAU,CAAC,MAAM,EAAE,CAAC;QACtC,MAAM,EAAE,QAAQ;KACjB,CAAC;IAEW,iBAAG,GAAG;QACjB,GAAG,EAAE,cAAA,GAAG;QACR,IAAI,EAAE,cAAA,IAAI;QACV,GAAG,EAAE,cAAA,GAAG;QACR,IAAI,EAAE,cAAA,IAAI;QACV,MAAM,EAAE,cAAA,MAAM;KACN,CAAC;IAEX,SAAgB,WAAW,CACzB,QAA0E,EAC1E,OAAoB,EACpB,QAAiB;QAEjB,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACvB,OAAO;gBACL,QAAQ;gBACR,OAAO;gBACP,QAAQ;aACT,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,QAAQ,EAAE,QAAQ,IAAI,QAAQ,CAAC,QAAQ;gBACvC,OAAO,EAAE,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE;gBAC5D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;aAC5B,CAAC;QACJ,CAAC;IACH,CAAC;IAlBe,yBAAW,cAkB1B,CAAA;AACH,CAAC,EAlRgB,aAAa,6BAAb,aAAa,QAkR7B"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,315 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const node_path_1 = __importDefault(require("node:path"));
16
+ const interface_api_1 = require("@antelopejs/interface-api");
17
+ const interface_data_api_1 = require("@antelopejs/interface-data-api");
18
+ const components_1 = require("@antelopejs/interface-data-api/components");
19
+ const metadata_1 = require("@antelopejs/interface-data-api/metadata");
20
+ const interface_database_1 = require("@antelopejs/interface-database");
21
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
22
+ const chai_1 = require("chai");
23
+ const utils_1 = require("../utils");
24
+ const currentTestName = node_path_1.default
25
+ .basename(__filename)
26
+ .replace(/\.test\.(ts|js)$/, "");
27
+ const authorTableName = `authors-${currentTestName}`;
28
+ const bookTableName = `books-${currentTestName}`;
29
+ const schemaName = "default";
30
+ let Author = class Author extends interface_database_decorators_1.Table {
31
+ };
32
+ __decorate([
33
+ (0, interface_database_decorators_1.Field)("string"),
34
+ __metadata("design:type", String)
35
+ ], Author.prototype, "name", void 0);
36
+ __decorate([
37
+ (0, interface_database_decorators_1.Field)("string"),
38
+ __metadata("design:type", String)
39
+ ], Author.prototype, "email", void 0);
40
+ Author = __decorate([
41
+ (0, interface_database_decorators_1.RegisterTable)(authorTableName, schemaName)
42
+ ], Author);
43
+ class AuthorModel extends (0, interface_database_decorators_1.BasicDataModel)(Author, authorTableName) {
44
+ }
45
+ let Book = class Book extends interface_database_decorators_1.Table {
46
+ };
47
+ __decorate([
48
+ (0, interface_database_decorators_1.Field)("string"),
49
+ __metadata("design:type", String)
50
+ ], Book.prototype, "authorId", void 0);
51
+ __decorate([
52
+ (0, interface_database_decorators_1.Field)("string"),
53
+ __metadata("design:type", String)
54
+ ], Book.prototype, "title", void 0);
55
+ Book = __decorate([
56
+ (0, interface_database_decorators_1.RegisterTable)(bookTableName, schemaName)
57
+ ], Book);
58
+ class BookModel extends (0, interface_database_decorators_1.BasicDataModel)(Book, bookTableName) {
59
+ }
60
+ let _DeferredJoinedTestAPI = class _DeferredJoinedTestAPI extends (0, interface_data_api_1.DataController)(Book, {
61
+ list: interface_data_api_1.DefaultRoutes.List,
62
+ }, (0, interface_api_1.Controller)(`/${currentTestName}`)) {
63
+ };
64
+ __decorate([
65
+ (0, metadata_1.ModelReference)(),
66
+ (0, interface_database_decorators_1.Model)(BookModel),
67
+ __metadata("design:type", BookModel)
68
+ ], _DeferredJoinedTestAPI.prototype, "bookModel", void 0);
69
+ __decorate([
70
+ (0, metadata_1.Listable)(),
71
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadOnly),
72
+ __metadata("design:type", String)
73
+ ], _DeferredJoinedTestAPI.prototype, "_id", void 0);
74
+ __decorate([
75
+ (0, metadata_1.Listable)(),
76
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadWrite),
77
+ __metadata("design:type", String)
78
+ ], _DeferredJoinedTestAPI.prototype, "authorId", void 0);
79
+ __decorate([
80
+ (0, metadata_1.Listable)(),
81
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadWrite),
82
+ __metadata("design:type", String)
83
+ ], _DeferredJoinedTestAPI.prototype, "title", void 0);
84
+ __decorate([
85
+ (0, metadata_1.Listable)(["authorId"]),
86
+ (0, metadata_1.Joined)({
87
+ table: authorTableName,
88
+ localKey: "authorId",
89
+ remoteField: "name",
90
+ }),
91
+ (0, metadata_1.Sortable)({ noIndex: true }),
92
+ (0, metadata_1.Filter)(),
93
+ __metadata("design:type", String)
94
+ ], _DeferredJoinedTestAPI.prototype, "name", void 0);
95
+ __decorate([
96
+ (0, metadata_1.Listable)(["authorId"]),
97
+ (0, metadata_1.Joined)({
98
+ table: authorTableName,
99
+ localKey: "authorId",
100
+ remoteField: "email",
101
+ }),
102
+ __metadata("design:type", String)
103
+ ], _DeferredJoinedTestAPI.prototype, "email", void 0);
104
+ _DeferredJoinedTestAPI = __decorate([
105
+ (0, interface_data_api_1.RegisterDataController)()
106
+ ], _DeferredJoinedTestAPI);
107
+ const authorsDataset = [
108
+ { name: "Alice Carter", email: "alice@example.com" },
109
+ { name: "Bob Stone", email: "bob@example.com" },
110
+ { name: "Carol Wilde", email: "carol@example.com" },
111
+ ];
112
+ const orphanAuthorId = "orphan-author-id";
113
+ const reqCtx = {};
114
+ describe("Query.List deferred joined self-resolution", () => {
115
+ it("resolves joined fields on a paged two-element destructure", async () => await resolvesJoinedFieldsOnPagedTwoElementDestructure());
116
+ it("keeps page lookups after the slice and off the count pipeline", async () => await keepsLookupsAfterSliceAndOffCountPipeline());
117
+ it("materializes joined fields for a caller-added filter", async () => await materializesJoinedFieldsForCallerFilter());
118
+ it("resolves joined fields on a directly awaited stream", async () => await resolvesJoinedFieldsOnDirectAwait());
119
+ it("resolves joined fields on an nth datum", async () => await resolvesJoinedFieldsOnNthDatum());
120
+ it("orders by a joined field when the caller sorts the stream", async () => await ordersByJoinedFieldOnCallerSort());
121
+ it("materializes the whole joined group when sorting through List", async () => await materializesJoinedGroupOnListSort());
122
+ it("exposes the deferred set and raw stream only on demand", async () => await exposesDeferredSetOnDemand());
123
+ it("keeps the change feed on the raw pipeline", async () => await keepsChangeFeedOnRawPipeline());
124
+ it("scopes field aggregates to the joined fields they read", async () => await scopesFieldAggregatesToJoinedFields());
125
+ it("still pages the lookups after a cast", async () => await stillPagesLookupsAfterCast());
126
+ it("materializes joined fields when embedded in another query", async () => await materializesJoinedFieldsWhenEmbedded());
127
+ it("resolves joined fields on async iteration", async () => await resolvesJoinedFieldsOnAsyncIteration());
128
+ it("returns the unresolved names when no database is provided", async () => await returnsUnresolvedNamesWithoutDatabase());
129
+ });
130
+ async function _seedTables() {
131
+ await (0, interface_database_decorators_1.RegisterSchema)(schemaName);
132
+ const schema = interface_database_1.Schema.get(schemaName);
133
+ if (schema) {
134
+ await schema.instance().table(bookTableName).delete();
135
+ await schema.instance().table(authorTableName).delete();
136
+ }
137
+ const schemaInstance = (0, utils_1.getSchemaInstance)(schemaName);
138
+ const authorModel = new AuthorModel(schemaInstance);
139
+ const bookModel = new BookModel(schemaInstance);
140
+ const authorIdsRecord = await authorModel.insert(authorsDataset);
141
+ const authorIds = Object.values(authorIdsRecord);
142
+ const booksDataset = [
143
+ { authorId: authorIds[0], title: "Alpha Rising" },
144
+ { authorId: authorIds[1], title: "Beta Stories" },
145
+ { authorId: authorIds[2], title: "Gamma Tales" },
146
+ { authorId: authorIds[0], title: "Alpha Returns" },
147
+ { authorId: orphanAuthorId, title: "Lost Chapter" },
148
+ ];
149
+ await bookModel.insert(booksDataset);
150
+ const thisObj = Object.create(_DeferredJoinedTestAPI.prototype);
151
+ return { thisObj, model: bookModel };
152
+ }
153
+ function listAsConsumer(harness) {
154
+ const meta = (0, interface_data_api_1.GetDataControllerMeta)(harness.thisObj);
155
+ return components_1.Query.List(harness.thisObj, meta, harness.model.table, reqCtx, undefined, undefined, harness.model.database);
156
+ }
157
+ function stageNames(staged) {
158
+ return staged.build().map((entry) => entry.stage);
159
+ }
160
+ async function resolvesJoinedFieldsOnPagedTwoElementDestructure() {
161
+ const harness = await _seedTables();
162
+ const [query, queryTotal] = listAsConsumer(harness);
163
+ const page = (await query
164
+ .slice(0, 10)
165
+ .pluck("_internal", "title", "name", "email"));
166
+ (0, chai_1.expect)(await queryTotal).to.equal(5);
167
+ (0, chai_1.expect)(page).to.have.lengthOf(5);
168
+ const alphaRising = page.find((book) => book.title === "Alpha Rising");
169
+ (0, chai_1.expect)(alphaRising?.name).to.equal("Alice Carter");
170
+ (0, chai_1.expect)(alphaRising?.email).to.equal("alice@example.com");
171
+ const lostChapter = page.find((book) => book.title === "Lost Chapter");
172
+ (0, chai_1.expect)(lostChapter?.name).to.equal(null);
173
+ (0, chai_1.expect)(lostChapter?.email).to.equal(null);
174
+ }
175
+ async function keepsLookupsAfterSliceAndOffCountPipeline() {
176
+ const harness = await _seedTables();
177
+ const [query, queryTotal] = listAsConsumer(harness);
178
+ const countStages = stageNames(queryTotal);
179
+ (0, chai_1.expect)(countStages).to.include("count");
180
+ (0, chai_1.expect)(countStages).to.not.include("lookup");
181
+ const directCountStages = stageNames(query.count());
182
+ (0, chai_1.expect)(directCountStages).to.include("count");
183
+ (0, chai_1.expect)(directCountStages).to.not.include("lookup");
184
+ const pageStages = stageNames(query.slice(0, 2));
185
+ (0, chai_1.expect)(pageStages.indexOf("lookup")).to.be.greaterThan(pageStages.indexOf("slice"));
186
+ }
187
+ async function materializesJoinedFieldsForCallerFilter() {
188
+ const harness = await _seedTables();
189
+ let [query] = listAsConsumer(harness);
190
+ query = query.filter((row) => row.key("name").eq("Alice Carter"));
191
+ const matches = (await query);
192
+ (0, chai_1.expect)(matches).to.have.lengthOf(2);
193
+ for (const match of matches) {
194
+ (0, chai_1.expect)(match.name).to.equal("Alice Carter");
195
+ (0, chai_1.expect)(match.email).to.equal("alice@example.com");
196
+ }
197
+ (0, chai_1.expect)(await query.count()).to.equal(2);
198
+ }
199
+ async function resolvesJoinedFieldsOnDirectAwait() {
200
+ const harness = await _seedTables();
201
+ const [query] = listAsConsumer(harness);
202
+ const rows = (await query);
203
+ (0, chai_1.expect)(rows).to.have.lengthOf(5);
204
+ const betaStories = rows.find((book) => book.title === "Beta Stories");
205
+ (0, chai_1.expect)(betaStories?.name).to.equal("Bob Stone");
206
+ (0, chai_1.expect)(betaStories?.email).to.equal("bob@example.com");
207
+ }
208
+ async function resolvesJoinedFieldsOnNthDatum() {
209
+ const harness = await _seedTables();
210
+ const [query] = listAsConsumer(harness);
211
+ const first = (await query.nth(0));
212
+ (0, chai_1.expect)(first.title).to.be.a("string");
213
+ (0, chai_1.expect)(first).to.have.property("name");
214
+ (0, chai_1.expect)(first).to.have.property("email");
215
+ const internalKeys = Object.keys(first).filter((key) => key.startsWith("__joined_orig_"));
216
+ (0, chai_1.expect)(internalKeys).to.deep.equal([]);
217
+ (0, chai_1.expect)(first.authorId).to.be.a("string");
218
+ const second = (await query.nth(1));
219
+ (0, chai_1.expect)(second.title).to.not.equal(first.title);
220
+ }
221
+ async function ordersByJoinedFieldOnCallerSort() {
222
+ const harness = await _seedTables();
223
+ const [query] = listAsConsumer(harness);
224
+ const rows = (await query.orderBy("name", "desc"));
225
+ (0, chai_1.expect)(rows).to.have.lengthOf(5);
226
+ const names = rows.map((book) => book.name).filter((name) => name !== null);
227
+ (0, chai_1.expect)(names).to.deep.equal([...names].sort().reverse());
228
+ (0, chai_1.expect)(names[0]).to.equal("Carol Wilde");
229
+ }
230
+ async function materializesJoinedGroupOnListSort() {
231
+ const harness = await _seedTables();
232
+ const meta = (0, interface_data_api_1.GetDataControllerMeta)(harness.thisObj);
233
+ const [query, , deferredJoined] = components_1.Query.List(harness.thisObj, meta, harness.model.table, reqCtx, ["name", "asc"], undefined, harness.model.database);
234
+ (0, chai_1.expect)(deferredJoined.size).to.equal(0);
235
+ const rows = (await query.slice(0, 5));
236
+ const gammaTales = rows.find((book) => book.title === "Gamma Tales");
237
+ (0, chai_1.expect)(gammaTales?.name).to.equal("Carol Wilde");
238
+ (0, chai_1.expect)(gammaTales?.email).to.equal("carol@example.com");
239
+ }
240
+ async function keepsChangeFeedOnRawPipeline() {
241
+ const harness = await _seedTables();
242
+ const [query] = listAsConsumer(harness);
243
+ const feedStages = stageNames(query.changes());
244
+ (0, chai_1.expect)(feedStages).to.include("changes");
245
+ (0, chai_1.expect)(feedStages).to.not.include("lookup");
246
+ }
247
+ async function scopesFieldAggregatesToJoinedFields() {
248
+ const harness = await _seedTables();
249
+ const [query] = listAsConsumer(harness);
250
+ const listedQuery = query;
251
+ const joinedFieldStages = stageNames(listedQuery.count("name"));
252
+ (0, chai_1.expect)(joinedFieldStages).to.include("count");
253
+ (0, chai_1.expect)(joinedFieldStages).to.include("lookup");
254
+ const plainFieldStages = stageNames(query.count("title"));
255
+ (0, chai_1.expect)(plainFieldStages).to.include("count");
256
+ (0, chai_1.expect)(plainFieldStages).to.not.include("lookup");
257
+ const distinctRowStages = stageNames(query.distinct());
258
+ (0, chai_1.expect)(distinctRowStages).to.include("distinct");
259
+ (0, chai_1.expect)(distinctRowStages).to.include("lookup");
260
+ }
261
+ async function stillPagesLookupsAfterCast() {
262
+ const harness = await _seedTables();
263
+ const [query] = listAsConsumer(harness);
264
+ const pageStages = stageNames(query.cast().slice(0, 2));
265
+ (0, chai_1.expect)(pageStages.indexOf("lookup")).to.be.greaterThan(pageStages.indexOf("slice"));
266
+ const page = (await query.cast().slice(0, 10));
267
+ const alphaRising = page.find((book) => book.title === "Alpha Rising");
268
+ (0, chai_1.expect)(alphaRising?.name).to.equal("Alice Carter");
269
+ }
270
+ async function materializesJoinedFieldsWhenEmbedded() {
271
+ const harness = await _seedTables();
272
+ const [query] = listAsConsumer(harness);
273
+ const unioned = (await harness.model.table.union(query));
274
+ (0, chai_1.expect)(unioned).to.have.lengthOf(10);
275
+ const withJoined = unioned.filter((row) => "name" in row);
276
+ (0, chai_1.expect)(withJoined).to.have.lengthOf(5);
277
+ (0, chai_1.expect)(withJoined.filter((row) => row.name === "Alice Carter")).to.have.lengthOf(2);
278
+ }
279
+ async function resolvesJoinedFieldsOnAsyncIteration() {
280
+ const harness = await _seedTables();
281
+ const [query] = listAsConsumer(harness);
282
+ const names = new Set();
283
+ for await (const row of query) {
284
+ names.add(row.name);
285
+ if (names.has("Alice Carter") && names.has("Bob Stone")) {
286
+ break;
287
+ }
288
+ }
289
+ (0, chai_1.expect)(names.has("Alice Carter")).to.equal(true);
290
+ (0, chai_1.expect)(names.has("Bob Stone")).to.equal(true);
291
+ }
292
+ async function returnsUnresolvedNamesWithoutDatabase() {
293
+ const harness = await _seedTables();
294
+ const meta = (0, interface_data_api_1.GetDataControllerMeta)(harness.thisObj);
295
+ const [query, , deferredJoined] = components_1.Query.List(harness.thisObj, meta, harness.model.table, reqCtx);
296
+ (0, chai_1.expect)(Array.from(deferredJoined).sort()).to.deep.equal(["email", "name"]);
297
+ const pageStages = stageNames(query.slice(0, 5));
298
+ (0, chai_1.expect)(pageStages).to.not.include("lookup");
299
+ }
300
+ async function exposesDeferredSetOnDemand() {
301
+ const harness = await _seedTables();
302
+ const meta = (0, interface_data_api_1.GetDataControllerMeta)(harness.thisObj);
303
+ const [, , resolvedByLayer] = listAsConsumer(harness);
304
+ (0, chai_1.expect)(resolvedByLayer.size).to.equal(0);
305
+ const [rawQuery, rawTotal, deferredJoined] = components_1.Query.List(harness.thisObj, meta, harness.model.table, reqCtx, undefined, undefined, harness.model.database, { exposeDeferredJoined: true });
306
+ (0, chai_1.expect)(Array.from(deferredJoined).sort()).to.deep.equal(["email", "name"]);
307
+ (0, chai_1.expect)(await rawTotal).to.equal(5);
308
+ const rawRows = (await rawQuery.slice(0, 5));
309
+ (0, chai_1.expect)(rawRows).to.have.lengthOf(5);
310
+ for (const row of rawRows) {
311
+ (0, chai_1.expect)(row).to.not.have.property("name");
312
+ (0, chai_1.expect)(row).to.not.have.property("email");
313
+ }
314
+ }
315
+ //# sourceMappingURL=deferred_joined.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferred_joined.test.js","sourceRoot":"","sources":["../../../src/tests/components/deferred_joined.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const components_1 = require("@antelopejs/interface-data-api/components");
4
+ const chai_1 = require("chai");
5
+ const meta = {
6
+ filters: { documentType: {}, status: {} },
7
+ };
8
+ function context(query, options) {
9
+ return {
10
+ url: new URL(`http://localhost/?${query}`),
11
+ dataAPIEntry: { options },
12
+ };
13
+ }
14
+ function extract(ctx) {
15
+ return components_1.Parameters.ExtractGeneric(ctx, meta, {
16
+ filters: components_1.Parameters.ExtractFilters,
17
+ limit: "int",
18
+ offset: "int",
19
+ sortKey: "string",
20
+ });
21
+ }
22
+ describe("Mandatory filter options", () => {
23
+ it("combines request filters with mandatory filters, mandatory keys winning", () => {
24
+ const ctx = context("filter_status=ne:paid&filter_documentType=quote", {
25
+ filters: { documentType: ["invoice", "eq"] },
26
+ });
27
+ const expected = {
28
+ documentType: ["invoice", "eq"],
29
+ status: ["paid", "ne"],
30
+ };
31
+ (0, chai_1.expect)(extract(ctx).filters).to.deep.equal(expected);
32
+ (0, chai_1.expect)(components_1.Parameters.ExtractFilters(ctx, meta)).to.deep.equal(expected);
33
+ });
34
+ it("keeps request filters with absent, empty or undefined option filters", () => {
35
+ for (const options of [
36
+ undefined,
37
+ {},
38
+ { filters: {} },
39
+ { filters: undefined },
40
+ ]) {
41
+ (0, chai_1.expect)(extract(context("filter_status=paid", options)).filters).to.deep.equal({ status: ["paid", "eq"] });
42
+ }
43
+ (0, chai_1.expect)(extract(context("")).filters).to.deep.equal({});
44
+ });
45
+ it("preserves ordinary option precedence including explicit undefined", () => {
46
+ const result = extract(context("limit=9&offset=4&sortKey=status", {
47
+ limit: 2,
48
+ sortKey: undefined,
49
+ pluckMode: "select",
50
+ }));
51
+ (0, chai_1.expect)(result).to.deep.equal({
52
+ filters: {},
53
+ limit: 2,
54
+ offset: 4,
55
+ sortKey: undefined,
56
+ pluckMode: "select",
57
+ });
58
+ });
59
+ it("does not mutate options or leak request filters across requests", () => {
60
+ const options = {
61
+ filters: { documentType: ["invoice", "eq"] },
62
+ };
63
+ Object.freeze(options.filters?.documentType);
64
+ Object.freeze(options.filters);
65
+ Object.freeze(options);
66
+ const first = extract(context("filter_status=paid", options));
67
+ const second = extract(context("filter_status=draft", options));
68
+ (0, chai_1.expect)(first.filters?.status).to.deep.equal(["paid", "eq"]);
69
+ (0, chai_1.expect)(second.filters?.status).to.deep.equal(["draft", "eq"]);
70
+ (0, chai_1.expect)(first.filters).not.to.equal(second.filters);
71
+ if (first.filters)
72
+ first.filters.documentType[0] = "changed";
73
+ (0, chai_1.expect)(second.filters?.documentType).to.deep.equal(["invoice", "eq"]);
74
+ (0, chai_1.expect)(extract(context("", options)).filters).to.deep.equal(options.filters);
75
+ (0, chai_1.expect)(options.filters).to.deep.equal({ documentType: ["invoice", "eq"] });
76
+ });
77
+ });
78
+ //# sourceMappingURL=filter_options.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter_options.test.js","sourceRoot":"","sources":["../../../src/tests/components/filter_options.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,112 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ const interface_api_1 = require("@antelopejs/interface-api");
13
+ const interface_api_util_1 = require("@antelopejs/interface-api-util");
14
+ const interface_data_api_1 = require("@antelopejs/interface-data-api");
15
+ const metadata_1 = require("@antelopejs/interface-data-api/metadata");
16
+ const interface_database_decorators_1 = require("@antelopejs/interface-database-decorators");
17
+ const chai_1 = require("chai");
18
+ const utils_1 = require("../utils");
19
+ const TABLE = "get-guard-documents";
20
+ const SCHEMA = "default";
21
+ const LOCATION = "get-guard";
22
+ const NOT_FOUND = 404;
23
+ const FORBIDDEN = 403;
24
+ let calls = 0;
25
+ let transforms = 0;
26
+ let Document = class Document extends interface_database_decorators_1.Table {
27
+ };
28
+ __decorate([
29
+ (0, interface_database_decorators_1.Field)("string"),
30
+ __metadata("design:type", String)
31
+ ], Document.prototype, "documentType", void 0);
32
+ __decorate([
33
+ (0, interface_database_decorators_1.Field)("string"),
34
+ __metadata("design:type", String)
35
+ ], Document.prototype, "name", void 0);
36
+ Document = __decorate([
37
+ (0, interface_database_decorators_1.RegisterTable)(TABLE, SCHEMA)
38
+ ], Document);
39
+ class DocumentModel extends (0, interface_database_decorators_1.BasicDataModel)(Document, TABLE) {
40
+ }
41
+ const guarded = interface_data_api_1.DefaultRoutes.WithGetGuard(async function (ctx, current, params) {
42
+ await Promise.resolve();
43
+ calls++;
44
+ (0, chai_1.expect)(this).to.be.instanceOf(DocumentAPI);
45
+ (0, chai_1.expect)(params.id).to.equal(ctx.url.searchParams.get("id"));
46
+ (0, interface_api_util_1.assert)(current.documentType === "invoice", NOT_FOUND, "Not Found");
47
+ (0, interface_api_util_1.assert)(!ctx.url.searchParams.has("deny"), FORBIDDEN, "Denied");
48
+ });
49
+ let DocumentAPI = class DocumentAPI extends (0, interface_data_api_1.DataController)(Document, {
50
+ get: guarded,
51
+ plain: interface_data_api_1.DefaultRoutes.Get,
52
+ }, (0, interface_api_1.Controller)(`/${LOCATION}`)) {
53
+ get name() {
54
+ transforms++;
55
+ return this.table.name.toUpperCase();
56
+ }
57
+ };
58
+ __decorate([
59
+ (0, metadata_1.ModelReference)(),
60
+ (0, interface_database_decorators_1.Model)(DocumentModel),
61
+ __metadata("design:type", DocumentModel)
62
+ ], DocumentAPI.prototype, "model", void 0);
63
+ __decorate([
64
+ (0, metadata_1.Access)(metadata_1.AccessMode.ReadOnly),
65
+ __metadata("design:type", Object),
66
+ __metadata("design:paramtypes", [])
67
+ ], DocumentAPI.prototype, "name", null);
68
+ DocumentAPI = __decorate([
69
+ (0, interface_data_api_1.RegisterDataController)()
70
+ ], DocumentAPI);
71
+ describe("Get loaded-model guard", () => {
72
+ let invoiceId;
73
+ let quoteId;
74
+ before(async () => {
75
+ await (0, interface_database_decorators_1.RegisterSchema)(SCHEMA);
76
+ const model = new DocumentModel((0, utils_1.getSchemaInstance)(SCHEMA));
77
+ [invoiceId] = await model.insert({
78
+ documentType: "invoice",
79
+ name: "Invoice",
80
+ });
81
+ [quoteId] = await model.insert({ documentType: "quote", name: "Quote" });
82
+ });
83
+ beforeEach(() => {
84
+ calls = 0;
85
+ transforms = 0;
86
+ });
87
+ it("reads a non-readable field before transformation and preserves the response", async () => {
88
+ const response = await (0, utils_1.getRequest)(LOCATION, { id: invoiceId });
89
+ (0, chai_1.expect)(response.status).to.equal(200);
90
+ const body = await response.json();
91
+ (0, chai_1.expect)(body).to.deep.equal({ name: "INVOICE" });
92
+ (0, chai_1.expect)(calls).to.equal(1);
93
+ (0, chai_1.expect)(transforms).to.equal(1);
94
+ const plain = await (0, utils_1.request)(LOCATION, "plain", "GET", undefined, {
95
+ id: invoiceId,
96
+ });
97
+ (0, chai_1.expect)(await plain.json()).to.deep.equal(body);
98
+ (0, chai_1.expect)(calls).to.equal(1);
99
+ });
100
+ it("awaits rejection before response transformations and preserves status", async () => {
101
+ (0, chai_1.expect)((await (0, utils_1.getRequest)(LOCATION, { id: quoteId })).status).to.equal(NOT_FOUND);
102
+ (0, chai_1.expect)((await (0, utils_1.getRequest)(LOCATION, { id: invoiceId, deny: "1" })).status).to.equal(FORBIDDEN);
103
+ (0, chai_1.expect)(calls).to.equal(2);
104
+ (0, chai_1.expect)(transforms).to.equal(0);
105
+ });
106
+ it("does not invoke the guard for missing rows", async () => {
107
+ (0, chai_1.expect)((await (0, utils_1.getRequest)(LOCATION, { id: "missing-document" })).status).to.equal(NOT_FOUND);
108
+ (0, chai_1.expect)(calls).to.equal(0);
109
+ (0, chai_1.expect)(transforms).to.equal(0);
110
+ });
111
+ });
112
+ //# sourceMappingURL=get_guard.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get_guard.test.js","sourceRoot":"","sources":["../../../src/tests/index/get_guard.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,6DAAuD;AACvD,uEAAwD;AACxD,uEAIwC;AACxC,sEAIiD;AACjD,6FAOmD;AACnD,+BAA8B;AAC9B,oCAAkE;AAElE,MAAM,KAAK,GAAG,qBAAqB,CAAC;AACpC,MAAM,MAAM,GAAG,SAAS,CAAC;AACzB,MAAM,QAAQ,GAAG,WAAW,CAAC;AAC7B,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,MAAM,SAAS,GAAG,GAAG,CAAC;AACtB,IAAI,KAAK,GAAG,CAAC,CAAC;AACd,IAAI,UAAU,GAAG,CAAC,CAAC;AAGnB,IAAM,QAAQ,GAAd,MAAM,QAAS,SAAQ,qCAAK;CAK3B,CAAA;AAHS;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;8CACa;AAErB;IADP,IAAA,qCAAK,EAAC,QAAQ,CAAC;;sCACK;AAJjB,QAAQ;IADb,IAAA,6CAAa,EAAC,KAAK,EAAE,MAAM,CAAC;GACvB,QAAQ,CAKb;AACD,MAAM,aAAc,SAAQ,IAAA,8CAAc,EAAC,QAAQ,EAAE,KAAK,CAAC;CAAG;AAE9D,MAAM,OAAO,GAAG,kCAAa,CAAC,YAAY,CACxC,KAAK,WAAW,GAAG,EAAE,OAAO,EAAE,MAAM;IAClC,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;IACxB,KAAK,EAAE,CAAC;IACR,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;IAC3C,IAAA,aAAM,EAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;IAC3D,IAAA,2BAAM,EAAC,OAAO,CAAC,YAAY,KAAK,SAAS,EAAE,SAAS,EAAE,WAAW,CAAC,CAAC;IACnE,IAAA,2BAAM,EAAC,CAAC,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;AACjE,CAAC,CACF,CAAC;AAGF,IAAM,WAAW,GAAjB,MAAM,WAAY,SAAQ,IAAA,mCAAc,EACtC,QAAQ,EACR;IACE,GAAG,EAAE,OAAO;IACZ,KAAK,EAAE,kCAAa,CAAC,GAAG;CACzB,EACD,IAAA,0BAAU,EAAC,IAAI,QAAQ,EAAE,CAAC,CAC3B;IAKC,IACI,IAAI;QACN,UAAU,EAAE,CAAC;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;IACvC,CAAC;CACF,CAAA;AAPS;IAFP,IAAA,yBAAc,GAAE;IAChB,IAAA,qCAAK,EAAC,aAAa,CAAC;8BACN,aAAa;0CAAC;AAE7B;IAAC,IAAA,iBAAM,EAAC,qBAAU,CAAC,QAAQ,CAAC;;;uCAI3B;AAhBG,WAAW;IADhB,IAAA,2CAAsB,GAAE;GACnB,WAAW,CAiBhB;AAED,QAAQ,CAAC,wBAAwB,EAAE,GAAG,EAAE;IACtC,IAAI,SAAiB,CAAC;IACtB,IAAI,OAAe,CAAC;IACpB,MAAM,CAAC,KAAK,IAAI,EAAE;QAChB,MAAM,IAAA,8CAAc,EAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,KAAK,GAAG,IAAI,aAAa,CAAC,IAAA,yBAAiB,EAAC,MAAM,CAAC,CAAC,CAAC;QAC3D,CAAC,SAAS,CAAC,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC;YAC/B,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAC;QACH,CAAC,OAAO,CAAC,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,EAAE,YAAY,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;IACH,UAAU,CAAC,GAAG,EAAE;QACd,KAAK,GAAG,CAAC,CAAC;QACV,UAAU,GAAG,CAAC,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6EAA6E,EAAE,KAAK,IAAI,EAAE;QAC3F,MAAM,QAAQ,GAAG,MAAM,IAAA,kBAAU,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,CAAC,CAAC;QAC/D,IAAA,aAAM,EAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,IAAA,aAAM,EAAC,IAAI,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;QAChD,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,IAAA,eAAO,EAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE;YAC/D,EAAE,EAAE,SAAS;SACd,CAAC,CAAC;QACH,IAAA,aAAM,EAAC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uEAAuE,EAAE,KAAK,IAAI,EAAE;QACrF,IAAA,aAAM,EAAC,CAAC,MAAM,IAAA,kBAAU,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,KAAK,CACnE,SAAS,CACV,CAAC;QACF,IAAA,aAAM,EACJ,CAAC,MAAM,IAAA,kBAAU,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,MAAM,CAClE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;QAC1D,IAAA,aAAM,EACJ,CAAC,MAAM,IAAA,kBAAU,EAAC,QAAQ,EAAE,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC,MAAM,CAChE,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACtB,IAAA,aAAM,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1B,IAAA,aAAM,EAAC,UAAU,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
package/docs/10.joined.md CHANGED
@@ -116,6 +116,17 @@ declare userName: string;
116
116
 
117
117
  Joined fields are always sorted without a database index (`@Sortable` is forced to non-indexed for them), since the value comes from a runtime lookup rather than a stored column.
118
118
 
119
+ ## Deferred Resolution on Lists
120
+
121
+ `Query.List` only materializes the joined groups that the request's sort or filters reference before the count. The remaining display-only groups are deferred: the returned stream resolves them itself as soon as an operation can observe them, so destructuring `[query, total]` alone always yields rows with every `@Joined` field resolved.
122
+
123
+ - Paging the stream (`slice`, `nth`) appends the lookups after the page boundary, so they only run on the returned rows.
124
+ - A bare `count()` — and any field aggregate (`sum`, `min`, `distinct(field)`, ...) on a non-joined field — skips them entirely (left-join lookups never change the row count nor other fields).
125
+ - `changes()` attaches to the raw stream, since change feeds cannot carry the join lookups.
126
+ - Any other operation (`filter`, `orderBy`, `map`, ...) materializes them first, since it may read the joined values.
127
+
128
+ The page-only benefit therefore holds as long as paging is the first thing the caller does. An operation applied to the whole stream before paging — a filter, a sort, or the `lookup` that `Query.Foreign` stages for a `@Foreign` field — materializes the joined groups over the whole matched set instead. The lookups still stay out of the count pipeline, but a caller that wants them strictly on the page must pass `{ exposeDeferredJoined: true }` to `Query.List` and resolve them itself after the slice: the raw stream is then returned unchanged and the third tuple element names the joined fields left to resolve with `Query.Joined`. This is what the default list route does, which also lets it limit the page lookups to the plucked fields.
129
+
119
130
  ## Cross-Schema Joins
120
131
 
121
132
  By default, the remote table is resolved in the same schema as the controller's table. Use the `schema` option to join against a table registered in a different schema; the join is resolved against that schema's default instance.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@antelopejs/interface-data-api",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "AntelopeJS interface for data API with CRUD controllers and route generation",
5
5
  "keywords": [
6
6
  "antelopejs",
@@ -67,7 +67,8 @@
67
67
  "@antelopejs/interface-database-decorators": ">=0.1.1 <1.0.0"
68
68
  },
69
69
  "publishConfig": {
70
- "access": "public"
70
+ "access": "public",
71
+ "provenance": true
71
72
  },
72
73
  "typesVersions": {
73
74
  "*": {