|
|
@@ -56,18 +56,22 @@ class UrlUtils {
|
|
|
|
|
|
/**
|
|
|
* Extrait l'ID de l'URI passée en paramètre
|
|
|
- * L'URI est supposée être de la forme `.../foo/bar/{id}`, où l'id est un identifiant numérique
|
|
|
+ * L'URI est supposée être de la forme `.../foo/bar/{id}`,
|
|
|
+ * où l'id est un identifiant numérique, à moins que isLiteral soit défini comme vrai.
|
|
|
+ * Dans ce cas, si isLiteral est vrai, l'id sera retourné sous forme de texte.
|
|
|
+ *
|
|
|
*
|
|
|
* @param uri
|
|
|
+ * @param isLiteral
|
|
|
*/
|
|
|
- public static extractIdFromUri (uri: string): number|null {
|
|
|
+ public static extractIdFromUri (uri: string, isLiteral: boolean = false): number|string|null {
|
|
|
const partUri: Array<string> = uri.split('/')
|
|
|
const id: any = partUri.pop()
|
|
|
|
|
|
- if (!id || isNaN(id)) {
|
|
|
+ if (!id || (!isLiteral && isNaN(id))) {
|
|
|
throw new Error('no id found')
|
|
|
}
|
|
|
- return parseInt(id)
|
|
|
+ return isLiteral ? id : parseInt(id)
|
|
|
}
|
|
|
|
|
|
/**
|