@coderich/autograph 0.13.35 → 0.13.37

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/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@coderich/autograph",
3
3
  "main": "index.js",
4
- "version": "0.13.35",
4
+ "version": "0.13.37",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },
@@ -11,8 +11,8 @@ module.exports = class Loader {
11
11
  constructor(model, resolver) {
12
12
  this.#model = model;
13
13
  this.#resolver = resolver;
14
- model.loader.cacheKeyFn ??= (query => hashObject(query.toCacheKey()));
15
- this.#loader = new DataLoader(keys => this.#resolve(keys), model.loader);
14
+ this.#model.loader.cacheKeyFn ??= query => hashObject(query.toCacheKey());
15
+ this.#loader = new DataLoader(keys => this.#resolve(keys), this.#model.loader);
16
16
  }
17
17
 
18
18
  clearAll() {
@@ -78,8 +78,6 @@ module.exports = class Pipeline {
78
78
  return Util.map(v, value => params.field.generator({ ...params, value }));
79
79
  });
80
80
 
81
- Pipeline.define('$default', ({ field: { defaultValue }, value }) => (value === undefined ? defaultValue : value), { ignoreNull: false });
82
-
83
81
  //
84
82
  Pipeline.define('$cast', ({ field, value }) => {
85
83
  const { type, isEmbedded } = field;
@@ -342,12 +342,6 @@ module.exports = class Schema {
342
342
  }, {});
343
343
  };
344
344
 
345
- // Pre-processing
346
- $model.pipelineFields = {
347
- input: Object.values($model.fields).filter(f => f.defaultValue !== undefined || inputPipelines.some(k => f.pipelines[k].length)).reduce((prev, f) => Object.assign(prev, { [f.name]: undefined }), {}),
348
- where: Object.values($model.fields).filter(f => f.pipelines.instruct.length).reduce((prev, f) => Object.assign(prev, { [f.name]: undefined }), {}),
349
- };
350
-
351
345
  $model.transformers.toDriver = new Transformer({
352
346
  shape: Object.values($model.fields).reduce((prev, curr) => {
353
347
  const rules = [curr.key]; // Rename key
@@ -362,7 +356,6 @@ module.exports = class Schema {
362
356
  const args = { model: $model, field: curr };
363
357
 
364
358
  const rules = [
365
- a => Pipeline.$default({ ...a, ...args, path: a.path.concat(curr.name) }),
366
359
  a => Pipeline.$cast({ ...a, ...args, path: a.path.concat(curr.name) }),
367
360
  a => Pipeline.$normalize({ ...a, ...args, path: a.path.concat(curr.name) }),
368
361
  a => Pipeline.$instruct({ ...a, ...args, path: a.path.concat(curr.name) }),
@@ -387,7 +380,11 @@ module.exports = class Schema {
387
380
 
388
381
  return Object.assign(prev, { [curr.name]: rules });
389
382
  }, {}),
390
- defaults: $model.pipelineFields.input,
383
+ defaults: Object.values($model.fields).reduce((prev, curr) => {
384
+ if (curr.defaultValue !== undefined) return Object.assign(prev, { [curr.name]: curr.defaultValue });
385
+ if (inputPipelines.some(el => curr.pipelines[el].length)) return Object.assign(prev, { [curr.name]: undefined });
386
+ return prev;
387
+ }, {}),
391
388
  });
392
389
 
393
390
  $model.transformers.where.config({
@@ -411,7 +408,10 @@ module.exports = class Schema {
411
408
 
412
409
  return Object.assign(prev, { [curr.name]: rules });
413
410
  }, {}),
414
- defaults: $model.pipelineFields.where,
411
+ defaults: Object.values($model.fields).reduce((prev, curr) => {
412
+ if (curr.pipelines.instruct.length) return Object.assign(prev, { [curr.name]: undefined });
413
+ return prev;
414
+ }, {}),
415
415
  });
416
416
 
417
417
  $model.transformers.sort = $model.transformers.where.clone({ defaults: {} });
@@ -423,6 +423,10 @@ module.exports = class Schema {
423
423
  if (curr.isEmbedded) rules.unshift(({ value }) => Util.map(value, v => curr.model.transformers.doc.transform(v)));
424
424
  return Object.assign(prev, { [curr.key]: rules });
425
425
  }, {}),
426
+ defaults: Object.values($model.fields).reduce((prev, curr) => {
427
+ if (curr.defaultValue === undefined) return prev;
428
+ return Object.assign(prev, { [curr.key]: curr.defaultValue });
429
+ }, {}),
426
430
  });
427
431
  });
428
432
  } else if (node.kind === Kind.FIELD_DEFINITION) {
@@ -440,7 +444,7 @@ module.exports = class Schema {
440
444
  $field.linkBy ??= $field.linkTo?.pkField; // This defines join logic (below) for both straight+virtual references
441
445
  $field.fkField ??= $field.model?.pkField; // This is the fkReference field for straight references
442
446
  $field.linkField = $field.isVirtual ? $model.fields[$model.pkField] : $field;
443
- $field.isFKReference = !$field.isPrimaryKey && $field.model?.isMarkedModel && !$field.model?.isEmbedded;
447
+ $field.isFKReference = $field.fkField && !$field.isPrimaryKey && $field.model?.isMarkedModel && !$field.model?.isEmbedded;
444
448
  $field.isEmbedded = Boolean($field.model && !$field.isFKReference && !$field.isPrimaryKey);
445
449
  $field.isScalar = scalars.includes($field.type);
446
450
  $field.generator ??= $model.generator;