@servicetitan/dte-unlayer 0.12.0 → 0.13.0

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.
@@ -0,0 +1,6 @@
1
+ export declare const unlayerUnitsGenerateToolKey: (unitId: string, unitGeneric: string) => string;
2
+ export declare const unlayerUnitsParseToolKey: (toolKey: string) => {
3
+ id: string;
4
+ generic: string;
5
+ } | undefined;
6
+ //# sourceMappingURL=units.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.d.ts","sourceRoot":"","sources":["../../src/shared/units.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B,WAAY,MAAM,eAAe,MAAM,WAC5C,CAAC;AAEpC,eAAO,MAAM,wBAAwB,YACxB,MAAM;QACV,MAAM;aAAW,MAAM;aAM/B,CAAC"}
@@ -0,0 +1,8 @@
1
+ export const unlayerUnitsGenerateToolKey = (unitId, unitGeneric) => `${unitGeneric}:unit:${unitId}`;
2
+ export const unlayerUnitsParseToolKey = (toolKey) => {
3
+ const [generic, type, id] = (toolKey !== null && toolKey !== void 0 ? toolKey : '').split(':');
4
+ if (type === 'unit' && generic && id) {
5
+ return { id, generic };
6
+ }
7
+ };
8
+ //# sourceMappingURL=units.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"units.js","sourceRoot":"","sources":["../../src/shared/units.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,MAAc,EAAE,WAAmB,EAAE,EAAE,CAC/E,GAAG,WAAW,SAAS,MAAM,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CACpC,OAAe,EAC4B,EAAE;IAC7C,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAEvD,IAAI,IAAI,KAAK,MAAM,IAAI,OAAO,IAAI,EAAE,EAAE;QAClC,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC;KAC1B;AACL,CAAC,CAAC"}
package/dist/tools.d.ts CHANGED
@@ -12,6 +12,10 @@ export interface UnlayerCustomToolsStat {
12
12
  export declare const unlayerGetCustomToolsStat: (design: UnlayerDesignFormat, tools?: {
13
13
  key: string;
14
14
  isRequired?: boolean;
15
+ }[], units?: {
16
+ id: string;
17
+ generic: string;
18
+ isRequired?: boolean;
15
19
  }[]) => UnlayerCustomToolsStat;
16
20
  export declare const unlayerGetToolsFlatList: (design: UnlayerDesignFormat) => UnlayerDesignTool[];
17
21
  export declare const unlayerBuildDesignFromTools: (tools: UnlayerDesignTool[]) => UnlayerDesignFormat;
@@ -1 +1 @@
1
- {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,eAAO,MAAM,uBAAuB,QAAO,mBAiFzC,CAAC;AAGH,eAAO,MAAM,mBAAmB,WACpB,mBAAmB,aAChB,iBAAiB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAW9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC1B,mBAAmB,aAChB,iBAAiB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAO9D,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAAY,mBAAmB,KAAG,MAAM,EAQ5E,CAAC;AAEF,eAAO,MAAM,eAAe,WAChB,mBAAmB,aAChB,iBAAiB,KAAK,OAAO,GAAG,IAAI,KAChD,iBAAiB,GAAG,SAWtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,yBAAyB,WAC1B,mBAAmB,UACnB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,KAChD,sBAsBF,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAAY,mBAAmB,KAAG,iBAAiB,EAQtF,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAAW,iBAAiB,EAAE,KAAG,mBAKxE,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAa,GAAG,KAAG,MAAM,GAAG,SAC/B,CAAC;AACjC,eAAO,MAAM,yBAAyB,YAAa,GAAG,KAAG,MAAM,GAAG,SACpC,CAAC;AAE/B,eAAO,MAAM,uBAAuB,SAAU,iBAAiB,KAAG,MAAM,GAAG,SACpC,CAAC;AACxC,eAAO,MAAM,0BAA0B,SAAU,iBAAiB,KAAG,MAAM,GAAG,SACpC,CAAC"}
1
+ {"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG7E,eAAO,MAAM,uBAAuB,QAAO,mBAiFzC,CAAC;AAGH,eAAO,MAAM,mBAAmB,WACpB,mBAAmB,aAChB,iBAAiB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAW9D,CAAC;AAEF,eAAO,MAAM,yBAAyB,WAC1B,mBAAmB,aAChB,iBAAiB,KAAK,OAAO,GAAG,SAAS,GAAG,IAAI,SAO9D,CAAC;AAEF,eAAO,MAAM,wBAAwB,WAAY,mBAAmB,KAAG,MAAM,EAQ5E,CAAC;AAEF,eAAO,MAAM,eAAe,WAChB,mBAAmB,aAChB,iBAAiB,KAAK,OAAO,GAAG,IAAI,KAChD,iBAAiB,GAAG,SAWtB,CAAC;AAEF,MAAM,WAAW,sBAAsB;IACnC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,eAAO,MAAM,yBAAyB,WAC1B,mBAAmB,UACnB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,UACvC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAAE,EAAE,KAChE,sBAuCF,CAAC;AAEF,eAAO,MAAM,uBAAuB,WAAY,mBAAmB,KAAG,iBAAiB,EAQtF,CAAC;AAEF,eAAO,MAAM,2BAA2B,UAAW,iBAAiB,EAAE,KAAG,mBAKxE,CAAC;AAEF,eAAO,MAAM,sBAAsB,YAAa,GAAG,KAAG,MAAM,GAAG,SACD,CAAC;AAC/D,eAAO,MAAM,yBAAyB,YAAa,GAAG,KAAG,MAAM,GAAG,SACN,CAAC;AAE7D,eAAO,MAAM,uBAAuB,SAAU,iBAAiB,KAAG,MAAM,GAAG,SACpC,CAAC;AACxC,eAAO,MAAM,0BAA0B,SAAU,iBAAiB,KAAG,MAAM,GAAG,SACpC,CAAC"}
package/dist/tools.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { constGenericsEditor } from './shared/const';
2
+ import { unlayerUnitsParseToolKey } from './shared/units';
1
3
  import { versions } from './unlayer';
2
4
  /* eslint-disable @typescript-eslint/naming-convention */
3
5
  export const unlayerGetDefaultDesign = () => ({
@@ -119,22 +121,32 @@ export const unlayerFindTool = (design, cb) => {
119
121
  });
120
122
  return out;
121
123
  };
122
- export const unlayerGetCustomToolsStat = (design, tools) => {
124
+ export const unlayerGetCustomToolsStat = (design, tools, units) => {
125
+ var _a, _b;
123
126
  const counters = {};
127
+ const notSupported = new Set();
128
+ const unitIDs = new Set();
124
129
  unlayerIterateCustomTools(design, tool => {
125
130
  if (!counters[tool.slug]) {
126
131
  counters[tool.slug] = 0;
127
132
  }
128
133
  counters[tool.slug]++;
134
+ const isUnit = unlayerUnitsParseToolKey(tool.slug);
135
+ if (isUnit) {
136
+ unitIDs.add(isUnit.id);
137
+ }
138
+ if ((isUnit && !(units === null || units === void 0 ? void 0 : units.some(unit => unit.id === unlayerGenericGetUnitId(tool)))) ||
139
+ (!isUnit && !(tools === null || tools === void 0 ? void 0 : tools.some(t => t.key === tool.slug)))) {
140
+ notSupported.add(tool.slug);
141
+ }
129
142
  });
130
143
  return {
131
144
  counters,
132
- notSupported: tools
133
- ? Object.keys(counters).filter(key => !tools.some(tool => tool.key === key))
134
- : [],
135
- missing: tools
136
- ? tools.filter(tool => tool.isRequired && !counters[tool.key]).map(tool => tool.key)
137
- : [],
145
+ notSupported: Array.from(notSupported),
146
+ missing: [
147
+ ...((_a = tools === null || tools === void 0 ? void 0 : tools.filter(tool => tool.isRequired && !counters[tool.key]).map(tool => tool.key)) !== null && _a !== void 0 ? _a : []),
148
+ ...((_b = units === null || units === void 0 ? void 0 : units.filter(unit => unit.isRequired && !unitIDs.has(unit.id)).map(unit => unit.id)) !== null && _b !== void 0 ? _b : []),
149
+ ],
138
150
  };
139
151
  };
140
152
  export const unlayerGetToolsFlatList = (design) => {
@@ -149,8 +161,8 @@ export const unlayerBuildDesignFromTools = (tools) => {
149
161
  design.body.rows[0].columns[0].contents = tools;
150
162
  return design;
151
163
  };
152
- export const unlayerValuesGetUnitId = (values) => { var _a; return (_a = values === null || values === void 0 ? void 0 : values.adminConfig) === null || _a === void 0 ? void 0 : _a.crossId; };
153
- export const unlayerValuesGetUnitTitle = (values) => { var _a; return (_a = values === null || values === void 0 ? void 0 : values.adminConfig) === null || _a === void 0 ? void 0 : _a.title; };
164
+ export const unlayerValuesGetUnitId = (values) => { var _a; return (_a = values === null || values === void 0 ? void 0 : values[constGenericsEditor.adminConfigProperty]) === null || _a === void 0 ? void 0 : _a.crossId; };
165
+ export const unlayerValuesGetUnitTitle = (values) => { var _a; return (_a = values === null || values === void 0 ? void 0 : values[constGenericsEditor.adminConfigProperty]) === null || _a === void 0 ? void 0 : _a.title; };
154
166
  export const unlayerGenericGetUnitId = (tool) => unlayerValuesGetUnitId(tool.values);
155
167
  export const unlayerGenericGetUnitTitle = (tool) => unlayerValuesGetUnitTitle(tool.values);
156
168
  //# sourceMappingURL=tools.js.map
package/dist/tools.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@servicetitan/dte-unlayer",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -0,0 +1,12 @@
1
+ export const unlayerUnitsGenerateToolKey = (unitId: string, unitGeneric: string) =>
2
+ `${unitGeneric}:unit:${unitId}`;
3
+
4
+ export const unlayerUnitsParseToolKey = (
5
+ toolKey: string
6
+ ): { id: string; generic: string } | undefined => {
7
+ const [generic, type, id] = (toolKey ?? '').split(':');
8
+
9
+ if (type === 'unit' && generic && id) {
10
+ return { id, generic };
11
+ }
12
+ };
package/src/tools.ts CHANGED
@@ -1,3 +1,5 @@
1
+ import { constGenericsEditor } from './shared/const';
2
+ import { unlayerUnitsParseToolKey } from './shared/units';
1
3
  import { versions } from './unlayer';
2
4
  import { UnlayerDesignFormat, UnlayerDesignTool } from './unlayer-interface';
3
5
 
@@ -146,9 +148,12 @@ export interface UnlayerCustomToolsStat {
146
148
 
147
149
  export const unlayerGetCustomToolsStat = (
148
150
  design: UnlayerDesignFormat,
149
- tools?: { key: string; isRequired?: boolean }[]
151
+ tools?: { key: string; isRequired?: boolean }[],
152
+ units?: { id: string; generic: string; isRequired?: boolean }[]
150
153
  ): UnlayerCustomToolsStat => {
151
154
  const counters: Record<string, number> = {};
155
+ const notSupported = new Set<string>();
156
+ const unitIDs = new Set<string>();
152
157
 
153
158
  unlayerIterateCustomTools(design, tool => {
154
159
  if (!counters[tool.slug]) {
@@ -156,18 +161,33 @@ export const unlayerGetCustomToolsStat = (
156
161
  }
157
162
 
158
163
  counters[tool.slug]++;
164
+
165
+ const isUnit = unlayerUnitsParseToolKey(tool.slug);
166
+
167
+ if (isUnit) {
168
+ unitIDs.add(isUnit.id);
169
+ }
170
+
171
+ if (
172
+ (isUnit && !units?.some(unit => unit.id === unlayerGenericGetUnitId(tool))) ||
173
+ (!isUnit && !tools?.some(t => t.key === tool.slug))
174
+ ) {
175
+ notSupported.add(tool.slug);
176
+ }
159
177
  });
160
178
 
161
179
  return {
162
180
  counters,
163
-
164
- notSupported: tools
165
- ? Object.keys(counters).filter(key => !tools.some(tool => tool.key === key))
166
- : [],
167
-
168
- missing: tools
169
- ? tools.filter(tool => tool.isRequired && !counters[tool.key]).map(tool => tool.key)
170
- : [],
181
+ notSupported: Array.from(notSupported),
182
+
183
+ missing: [
184
+ ...(tools
185
+ ?.filter(tool => tool.isRequired && !counters[tool.key])
186
+ .map(tool => tool.key) ?? []),
187
+ ...(units
188
+ ?.filter(unit => unit.isRequired && !unitIDs.has(unit.id))
189
+ .map(unit => unit.id) ?? []),
190
+ ],
171
191
  };
172
192
  };
173
193
 
@@ -189,9 +209,9 @@ export const unlayerBuildDesignFromTools = (tools: UnlayerDesignTool[]): Unlayer
189
209
  };
190
210
 
191
211
  export const unlayerValuesGetUnitId = (values?: any): string | undefined =>
192
- values?.adminConfig?.crossId;
212
+ values?.[constGenericsEditor.adminConfigProperty]?.crossId;
193
213
  export const unlayerValuesGetUnitTitle = (values?: any): string | undefined =>
194
- values?.adminConfig?.title;
214
+ values?.[constGenericsEditor.adminConfigProperty]?.title;
195
215
 
196
216
  export const unlayerGenericGetUnitId = (tool: UnlayerDesignTool): string | undefined =>
197
217
  unlayerValuesGetUnitId(tool.values);