default Function getFormatFunction()

in src/main/java/com/epam/parso/date/SasTemporalFormat.java [71:97]


    default Function<Double, String> getFormatFunction(int width, int precision, boolean trim) {
        int actualWidth = getActualWidth(width);
        int actualPrecision = getActualPrecision(actualWidth, precision);

        Function<Double, String> internalFormatFunction;
        try {
            internalFormatFunction = getInternalFormatFunction(actualWidth, actualPrecision);
        } catch (NotImplementedException e) {
            return getFallbackFormatFunction(actualWidth, actualPrecision);
        }
        return (seconds) -> {
            if (seconds == null || seconds.isNaN()) {
                return ".";
            } else {
                String result = internalFormatFunction.apply(seconds);
                if (trim) {
                    return result;
                } else {
                    if (actualWidth > result.length()) {
                        return nChars(' ', actualWidth - result.length()) + result;
                    } else {
                        return result;
                    }
                }
            }
        };
    }