@contrail/flexplm 1.7.2-alpha.f5ce754 → 1.7.3-alpha.2a95cdd
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.
|
@@ -776,6 +776,47 @@ interface MappingFileBase {
|
|
|
776
776
|
* },
|
|
777
777
|
* },
|
|
778
778
|
* };
|
|
779
|
+
*
|
|
780
|
+
* @example
|
|
781
|
+
* // Multi-Entry and Composite FlexPLM properties.
|
|
782
|
+
* //
|
|
783
|
+
* // FlexPLM sends both shapes as a single string whose values are joined by
|
|
784
|
+
* // the separator '|~*~|' (a trailing separator follows the last value):
|
|
785
|
+
* // Cuttable Width (multi-entry): '1MM Horizontal|~*~|2MM Vertical|~*~|'
|
|
786
|
+
* // Content (composite): '50.0% MetalProcessing|~*~|50.0% Cable|~*~|'
|
|
787
|
+
* //
|
|
788
|
+
* // VibeIQ stores these raw '|~*~|'-joined strings as-is, so no split/join is
|
|
789
|
+
* // needed — a plain REKEY carries the value through unchanged in both
|
|
790
|
+
* // directions. If you later need to store an array or a cleaned display
|
|
791
|
+
* // value instead, add a VALUE_TRANSFORM task to `transformOrder` and a
|
|
792
|
+
* // matching `valueTransform` entry (see {@link DirectionalSection.valueTransform})
|
|
793
|
+
* // that splits on / joins with '|~*~|'.
|
|
794
|
+
* export const mapping: MappingFile = {
|
|
795
|
+
* orgInfo: { appIdentifier: '@vibeiq/flexplm-connector', orgName: 'acme' },
|
|
796
|
+
* typeConversion: { vibe2flex: {}, flex2vibe: {} },
|
|
797
|
+
* LCSProduct: {
|
|
798
|
+
* vibe2flex: {
|
|
799
|
+
* transformOrder: [
|
|
800
|
+
* { processor: 'REKEY', rekeyDelete: true, rekeyKeepEmptyValues: true, rekeyTransformersKey: 'rekey' },
|
|
801
|
+
* ],
|
|
802
|
+
* // flexField: 'vibeSlug' — raw '|~*~|' strings pass straight through.
|
|
803
|
+
* rekey: {
|
|
804
|
+
* cuttableWidth: 'cuttableWidth', // multi-entry
|
|
805
|
+
* materialContent: 'materialContent', // composite (Flex 'Content')
|
|
806
|
+
* },
|
|
807
|
+
* },
|
|
808
|
+
* flex2vibe: {
|
|
809
|
+
* transformOrder: [
|
|
810
|
+
* { processor: 'REKEY', rekeyDelete: true, rekeyKeepEmptyValues: true, rekeyTransformersKey: 'rekey' },
|
|
811
|
+
* ],
|
|
812
|
+
* // vibeSlug: 'flexField'
|
|
813
|
+
* rekey: {
|
|
814
|
+
* cuttableWidth: 'cuttableWidth',
|
|
815
|
+
* materialContent: 'materialContent',
|
|
816
|
+
* },
|
|
817
|
+
* },
|
|
818
|
+
* },
|
|
819
|
+
* };
|
|
779
820
|
*/
|
|
780
821
|
export type MappingFile = MappingFileBase & {
|
|
781
822
|
[mapKey: string]: MappingSection | MappingFileBase[keyof MappingFileBase];
|