@apollo-annotation/common 0.3.6 → 0.3.8

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/Check.d.ts CHANGED
@@ -3,5 +3,6 @@ export declare abstract class Check {
3
3
  abstract name: string;
4
4
  abstract version: number;
5
5
  abstract causes: string[];
6
+ abstract isDefault: boolean;
6
7
  abstract checkFeature(feature: AnnotationFeatureSnapshot, getSequence: (start: number, end: number) => Promise<string>): Promise<CheckResultSnapshot[]>;
7
8
  }
package/dist/Check.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"Check.js","sourceRoot":"","sources":["../src/Check.ts"],"names":[],"mappings":";;;AAKA,MAAsB,KAAK;CAS1B;AATD,sBASC"}
1
+ {"version":3,"file":"Check.js","sourceRoot":"","sources":["../src/Check.ts"],"names":[],"mappings":";;;AAKA,MAAsB,KAAK;CAU1B;AAVD,sBAUC"}
@@ -29,4 +29,13 @@ export declare abstract class FeatureChange extends AssemblySpecificChange {
29
29
  * @param featureIds -
30
30
  */
31
31
  generateNewIds(feature: Feature | AnnotationFeatureSnapshot, featureIds: string[]): AnnotationFeatureSnapshot;
32
+ addChild(parentFeature: Feature, child: AnnotationFeatureSnapshot): void;
33
+ /**
34
+ * Delete feature's subfeatures that match an ID and return the IDs of any
35
+ * sub-subfeatures that were deleted
36
+ * @param feature -
37
+ * @param featureIdToDelete -
38
+ * @returns - list of deleted feature IDs
39
+ */
40
+ findAndDeleteChildFeature(feature: Feature, featureIdToDelete: string): string[];
32
41
  }
@@ -84,6 +84,63 @@ class FeatureChange extends AssemblySpecificChange_1.AssemblySpecificChange {
84
84
  _id: newId,
85
85
  };
86
86
  }
87
+ addChild(parentFeature, child) {
88
+ var _a;
89
+ if (!((_a = parentFeature.attributes) === null || _a === void 0 ? void 0 : _a._id)) {
90
+ let { attributes } = parentFeature;
91
+ if (!attributes) {
92
+ attributes = {};
93
+ }
94
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
95
+ attributes = {
96
+ _id: [parentFeature._id.toString()],
97
+ // eslint-disable-next-line unicorn/prefer-structured-clone
98
+ ...JSON.parse(JSON.stringify(attributes)),
99
+ };
100
+ parentFeature.attributes = attributes;
101
+ }
102
+ const { _id } = child;
103
+ if (!parentFeature.children) {
104
+ parentFeature.children = new Map();
105
+ }
106
+ parentFeature.children.set(_id, {
107
+ allIds: [],
108
+ ...child,
109
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
110
+ // @ts-expect-error
111
+ _id,
112
+ });
113
+ // Child features should be sorted for click and drag of gene glyphs to work properly
114
+ parentFeature.children = new Map([...parentFeature.children.entries()].sort((a, b) => a[1].min - b[1].min));
115
+ }
116
+ /**
117
+ * Delete feature's subfeatures that match an ID and return the IDs of any
118
+ * sub-subfeatures that were deleted
119
+ * @param feature -
120
+ * @param featureIdToDelete -
121
+ * @returns - list of deleted feature IDs
122
+ */
123
+ findAndDeleteChildFeature(feature, featureIdToDelete) {
124
+ if (!feature.children) {
125
+ throw new Error(`Feature ${feature._id.toHexString()} has no children`);
126
+ }
127
+ const { _id, children } = feature;
128
+ const child = children.get(featureIdToDelete);
129
+ if (child) {
130
+ const deletedIds = this.getChildFeatureIds(child);
131
+ children.delete(featureIdToDelete);
132
+ return deletedIds;
133
+ }
134
+ for (const [, childFeature] of children) {
135
+ try {
136
+ return this.findAndDeleteChildFeature(childFeature, featureIdToDelete);
137
+ }
138
+ catch {
139
+ // pass
140
+ }
141
+ }
142
+ throw new Error(`Feature "${featureIdToDelete}" not found in ${_id.toHexString()}`);
143
+ }
87
144
  }
88
145
  exports.FeatureChange = FeatureChange;
89
146
  //# sourceMappingURL=FeatureChange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureChange.js","sourceRoot":"","sources":["../src/FeatureChange.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureChange.js","sourceRoot":"","sources":["../src/FeatureChange.ts"],"names":[],"mappings":"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"}