#!/bin/sh

set -e

# use && in order to avoid some problem with set -e in functions
rebuild_constants_list () {
    CONSTANTS_FILE="$DPKG_ROOT/usr/lib/nodejs/constants-browserify/constants.json"
    #reconstruct node constant list
    # move is atomic not redirection
    if "$DPKG_ROOT/usr/bin/node" -pe 'JSON.stringify(require("constants"), null, "  ")' > "$CONSTANTS_FILE.triggered"; then
	if mv "$CONSTANTS_FILE.triggered" "$CONSTANTS_FILE"; then
	    return 0;
	fi
    fi
    echo "postinst failled to create $CONSTANTS_FILE" >&2
    # recover
    rm -f  "$CONSTANTS_FILE.triggered"
    rm -f  "$CONSTANTS_FILE"
    return 1
}

case "$1" in
    configure)
	rebuild_constants_list
    ;;

    triggered)
        rebuild_constants_list
    ;;

    abort-upgrade|abort-remove|abort-deconfigure)
    ;;

    *)
        echo "postinst called with unknown argument \`$1'" >&2
        exit 1
    ;;
esac

#DEBHELPER#

exit 0
