static removeWrapperProperties()

in common/lib/wrapper_property.ts [423:456]


  static removeWrapperProperties(props: Map<string, any>): Map<string, any> {
    const persistingProperties = [
      WrapperProperties.USER.name,
      WrapperProperties.PASSWORD.name,
      WrapperProperties.DATABASE.name,
      WrapperProperties.PORT.name,
      WrapperProperties.HOST.name
    ];

    const copy = new Map(props);

    for (const key of props.keys()) {
      if (
        !key.startsWith(WrapperProperties.MONITORING_PROPERTY_PREFIX) &&
        !key.startsWith(ClusterTopologyMonitorImpl.MONITORING_PROPERTY_PREFIX) &&
        key !== Failover2Plugin.INTERNAL_CONNECT_PROPERTY_NAME
      ) {
        continue;
      }

      copy.delete(key);
    }

    Object.values(WrapperProperties).forEach((prop) => {
      if (prop instanceof WrapperProperty) {
        const propertyName = (prop as WrapperProperty<any>).name;
        if (!persistingProperties.includes(propertyName) && copy.has(propertyName)) {
          copy.delete(propertyName);
        }
      }
    });

    return copy;
  }