// Copyright (c) 2009-2026 SAP SE, All Rights Reserved

/**
 * @fileOverview URL Parsing
 *
 * URL Parsing util for shell compliant hashes
 *
 * [ SO-Action~[Context]]
 * [ ? [A=B(&C=D)+]
 * &/
 *
 * The parsing functions are deliberately restrictive and fragile, only shell compliant hashes are parsed correctly,
 * invalid or completely empty results ( not silently ignored parts) are returned if the hash is not deemed parseable
 */
sap.ui.define([

    "sap/ushell/base/UrlParsing"
], (
    UrlParsing
) => {
    "use strict";

    // Keep old namespace and types for comaptibility until we've migrated away all internal usages as part of UNISHELL-287

    /**
     * @typedef {object} sap.ushell.utils.URLParsing.HashComparison
     * Type for HashComparison
     * @property {boolean} sameIntent The intent is the semantic object, action and contextRaw of the hash
     * @property {boolean} sameParameters The intent parameters are the parameters of the hash that are not technical parameters
     * @property {boolean} sameAppSpecificRoute The app specific route is the part of the hash after the shell part
     *
     * @since 1.128.0
     * @private
     */

    return UrlParsing;
});
