1
0
mirror of https://github.com/dzeiocom/libs.git synced 2025-04-23 19:32:14 +00:00

Add modules (#41)

* Added modules for object-utils
+ moved from parcel to esbuild

Signed-off-by: Avior <github@avior.me>

* Moved url-manager

Signed-off-by: Avior <github@avior.me>

* Fixed codacy error

Signed-off-by: Avior <github@avior.me>
This commit is contained in:
Florian Bouillon 2021-09-29 10:12:53 +02:00 committed by GitHub
parent 329f1ee06d
commit b7b604e11f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 435 additions and 32 deletions

384
package-lock.json generated
View File

@ -5710,6 +5710,242 @@
"integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=",
"dev": true
},
"node_modules/esbuild": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.2.tgz",
"integrity": "sha512-/tpIqo45hyRREGqh7hsIut8GwY1X2n9IhKbIwRIXUO6IohzG3/RarSGX7dT2eNvYzIbQmelpX+ZyuIphE5u+Bw==",
"dev": true,
"hasInstallScript": true,
"bin": {
"esbuild": "bin/esbuild"
},
"optionalDependencies": {
"esbuild-android-arm64": "0.13.2",
"esbuild-darwin-64": "0.13.2",
"esbuild-darwin-arm64": "0.13.2",
"esbuild-freebsd-64": "0.13.2",
"esbuild-freebsd-arm64": "0.13.2",
"esbuild-linux-32": "0.13.2",
"esbuild-linux-64": "0.13.2",
"esbuild-linux-arm": "0.13.2",
"esbuild-linux-arm64": "0.13.2",
"esbuild-linux-mips64le": "0.13.2",
"esbuild-linux-ppc64le": "0.13.2",
"esbuild-openbsd-64": "0.13.2",
"esbuild-sunos-64": "0.13.2",
"esbuild-windows-32": "0.13.2",
"esbuild-windows-64": "0.13.2",
"esbuild-windows-arm64": "0.13.2"
}
},
"node_modules/esbuild-android-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.2.tgz",
"integrity": "sha512-Eh2paXUWYqf5JgikdkC0LnhtjSC8tGAz/L2kJRlMC0o3DzOBIxcmT2fdzBerdhW4roY0bOExfcO6deI1qsxI/A==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"android"
]
},
"node_modules/esbuild-darwin-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.2.tgz",
"integrity": "sha512-jqp6uXHIIAWZ8kxRqFjxyMmIE1cuSbINellwwigOgk44eLg74ls82oqjY72MbDAowPivQkOU/fF7tsyaGQf5Zg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
]
},
"node_modules/esbuild-darwin-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.2.tgz",
"integrity": "sha512-bD4oAyPZdzOWEA/JoX0sAitOhjJRwhomhWMeyRyowtlVQhQleG2ijRUKTvkq4CAvSobrW5EnZxjvHNKJ5L7zJg==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"darwin"
]
},
"node_modules/esbuild-freebsd-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.2.tgz",
"integrity": "sha512-fFJ0yc3lZyfwca+F5OPN/s+izozWryUQpN8aUMIdUkOa7UKX0h3xXrKnkDgdOo8vy3d1A6zHH0/4f2VJfEzLCg==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
]
},
"node_modules/esbuild-freebsd-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.2.tgz",
"integrity": "sha512-DWBZauEfjmqdfWxIacI+KBEim3ulOjtvK+WVm1bX67XlfyUVIkD915OIfT2EBhQUWmv+Z0tZZwskSMNj5DKojw==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"freebsd"
]
},
"node_modules/esbuild-linux-32": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.2.tgz",
"integrity": "sha512-Gt2rNqqRCRh1QQC2d83KP0iWIXWQYpns7l2+41a1n0PQxXkQ5AarpjjL9mUzdXtcZauNXbUvWwBKAuBTCW+XQg==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"linux"
]
},
"node_modules/esbuild-linux-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.2.tgz",
"integrity": "sha512-yT0D5Xly8oGHuqq975k1XUyULHzk3fN/ZlTY+awlU+nCFsYPZ43NE5msGpxlNQu8i6KOXQEke5GXN3y5d+Zd4g==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"linux"
]
},
"node_modules/esbuild-linux-arm": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.2.tgz",
"integrity": "sha512-KXeyotqj9jbvCjbSpwnxDE8E8jKoBgrgbJpOvvY5Zz7Pp2fAwu/94vWQtE/jPEJndY4C4MSs+ryJLFWzmLOa4w==",
"cpu": [
"arm"
],
"dev": true,
"optional": true,
"os": [
"linux"
]
},
"node_modules/esbuild-linux-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.2.tgz",
"integrity": "sha512-qwXL+3NDCWiC8RMKBBETpuOWdC+pUAUS+pwg9jJmapYblLdVKkyRtwF/ogj06TdYs6riSSNikW8HK/Xs0HHbbQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"linux"
]
},
"node_modules/esbuild-linux-mips64le": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.2.tgz",
"integrity": "sha512-sx8eheRX2XC2ppNAsbQm8/VUcU8XPYGpJK0BEyRefqHONz6u5Ib2guUdOz2Wh4YlbA7oOd482lHjprXSTwUcrQ==",
"cpu": [
"mips64el"
],
"dev": true,
"optional": true,
"os": [
"linux"
]
},
"node_modules/esbuild-linux-ppc64le": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.2.tgz",
"integrity": "sha512-y8iZ3qy2TIAKKsZ6xSopCztHOtGW9oiYDl22vQ0UIoVWjnfRKrbSzX7Y2F94y32hSvRWle6OhAIC+UpS5nQmIA==",
"cpu": [
"ppc64"
],
"dev": true,
"optional": true,
"os": [
"linux"
]
},
"node_modules/esbuild-openbsd-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.2.tgz",
"integrity": "sha512-g6AYrjBeV9OK624bw0KQ1TjHJQSW+X1Yicyd1NvDWqSFpMqKAjw7EUX4tA87mOFqv8BflPGr4f43ySgNvSVzIw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"openbsd"
]
},
"node_modules/esbuild-sunos-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.2.tgz",
"integrity": "sha512-hIXvFIyrqwFd6v62XSra0ctCUXDS9Tu5D6QYbvnbhEoBmvD/TmEJRYRH48/+xmRifKJLzu6aegcrjAsDmaww7g==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"sunos"
]
},
"node_modules/esbuild-windows-32": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.2.tgz",
"integrity": "sha512-Y767LG0NFkw0sPoDVOTKC5gaj4vURjjWfSCCDV5awpXXxBKOF2zsIp3aia4KvVoivoSSeRPk3emDd0OPHuPrKg==",
"cpu": [
"ia32"
],
"dev": true,
"optional": true,
"os": [
"win32"
]
},
"node_modules/esbuild-windows-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.2.tgz",
"integrity": "sha512-01b59kVJUMasctn6lzswC0drchr7zO75QtF22o5w0nlOw0Zorw0loY/8i5choFuWc30gXJId9qBSc1zPvt7uEw==",
"cpu": [
"x64"
],
"dev": true,
"optional": true,
"os": [
"win32"
]
},
"node_modules/esbuild-windows-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.2.tgz",
"integrity": "sha512-HxyY604ytmh8NkPYyS1TdIB/bFS7DWd1hP90e8Ovo/elEdN5I13h0tyIatDYZkXKS0Ztk+9T/3h6K0fI1a/4tQ==",
"cpu": [
"arm64"
],
"dev": true,
"optional": true,
"os": [
"win32"
]
},
"node_modules/escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
@ -17764,8 +18000,8 @@
"license": "MIT",
"devDependencies": {
"@types/jest": "^27.0.0",
"esbuild": "^0.13.2",
"jest": "^27.0.0",
"parcel": "1.12.3",
"ts-jest": "^27.0.0",
"ts-node": "^10.2.1",
"typescript": "^4.0.2"
@ -18960,11 +19196,14 @@
"name": "@dzeio/url-manager",
"version": "1.0.5",
"license": "MIT",
"dependencies": {
"@dzeio/object-util": "^1.4.0"
},
"devDependencies": {
"@types/chai": "^4.2.12",
"@types/jest": "^26.0.10",
"esbuild": "^0.13.2",
"jest": "^26.4.2",
"parcel": "1.12.3",
"ts-jest": "^26.4.4",
"ts-node": "^10.2.1",
"typescript": "^4.0.2"
@ -20053,8 +20292,8 @@
"version": "file:packages/object-util",
"requires": {
"@types/jest": "^27.0.0",
"esbuild": "^0.13.2",
"jest": "^27.0.0",
"parcel": "1.12.3",
"ts-jest": "^27.0.0",
"ts-node": "^10.2.1",
"typescript": "^4.0.2"
@ -20973,10 +21212,11 @@
"@dzeio/url-manager": {
"version": "file:packages/url-manager",
"requires": {
"@dzeio/object-util": "^1.4.0",
"@types/chai": "^4.2.12",
"@types/jest": "^26.0.10",
"esbuild": "^0.13.2",
"jest": "^26.4.2",
"parcel": "1.12.3",
"ts-jest": "^26.4.4",
"ts-node": "^10.2.1",
"typescript": "^4.0.2"
@ -24420,6 +24660,142 @@
"integrity": "sha1-wsNYJlYkfDnqEHyx5mUrb58kUjw=",
"dev": true
},
"esbuild": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.13.2.tgz",
"integrity": "sha512-/tpIqo45hyRREGqh7hsIut8GwY1X2n9IhKbIwRIXUO6IohzG3/RarSGX7dT2eNvYzIbQmelpX+ZyuIphE5u+Bw==",
"dev": true,
"requires": {
"esbuild-android-arm64": "0.13.2",
"esbuild-darwin-64": "0.13.2",
"esbuild-darwin-arm64": "0.13.2",
"esbuild-freebsd-64": "0.13.2",
"esbuild-freebsd-arm64": "0.13.2",
"esbuild-linux-32": "0.13.2",
"esbuild-linux-64": "0.13.2",
"esbuild-linux-arm": "0.13.2",
"esbuild-linux-arm64": "0.13.2",
"esbuild-linux-mips64le": "0.13.2",
"esbuild-linux-ppc64le": "0.13.2",
"esbuild-openbsd-64": "0.13.2",
"esbuild-sunos-64": "0.13.2",
"esbuild-windows-32": "0.13.2",
"esbuild-windows-64": "0.13.2",
"esbuild-windows-arm64": "0.13.2"
}
},
"esbuild-android-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-android-arm64/-/esbuild-android-arm64-0.13.2.tgz",
"integrity": "sha512-Eh2paXUWYqf5JgikdkC0LnhtjSC8tGAz/L2kJRlMC0o3DzOBIxcmT2fdzBerdhW4roY0bOExfcO6deI1qsxI/A==",
"dev": true,
"optional": true
},
"esbuild-darwin-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-darwin-64/-/esbuild-darwin-64-0.13.2.tgz",
"integrity": "sha512-jqp6uXHIIAWZ8kxRqFjxyMmIE1cuSbINellwwigOgk44eLg74ls82oqjY72MbDAowPivQkOU/fF7tsyaGQf5Zg==",
"dev": true,
"optional": true
},
"esbuild-darwin-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-darwin-arm64/-/esbuild-darwin-arm64-0.13.2.tgz",
"integrity": "sha512-bD4oAyPZdzOWEA/JoX0sAitOhjJRwhomhWMeyRyowtlVQhQleG2ijRUKTvkq4CAvSobrW5EnZxjvHNKJ5L7zJg==",
"dev": true,
"optional": true
},
"esbuild-freebsd-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-64/-/esbuild-freebsd-64-0.13.2.tgz",
"integrity": "sha512-fFJ0yc3lZyfwca+F5OPN/s+izozWryUQpN8aUMIdUkOa7UKX0h3xXrKnkDgdOo8vy3d1A6zHH0/4f2VJfEzLCg==",
"dev": true,
"optional": true
},
"esbuild-freebsd-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-freebsd-arm64/-/esbuild-freebsd-arm64-0.13.2.tgz",
"integrity": "sha512-DWBZauEfjmqdfWxIacI+KBEim3ulOjtvK+WVm1bX67XlfyUVIkD915OIfT2EBhQUWmv+Z0tZZwskSMNj5DKojw==",
"dev": true,
"optional": true
},
"esbuild-linux-32": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-32/-/esbuild-linux-32-0.13.2.tgz",
"integrity": "sha512-Gt2rNqqRCRh1QQC2d83KP0iWIXWQYpns7l2+41a1n0PQxXkQ5AarpjjL9mUzdXtcZauNXbUvWwBKAuBTCW+XQg==",
"dev": true,
"optional": true
},
"esbuild-linux-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-64/-/esbuild-linux-64-0.13.2.tgz",
"integrity": "sha512-yT0D5Xly8oGHuqq975k1XUyULHzk3fN/ZlTY+awlU+nCFsYPZ43NE5msGpxlNQu8i6KOXQEke5GXN3y5d+Zd4g==",
"dev": true,
"optional": true
},
"esbuild-linux-arm": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm/-/esbuild-linux-arm-0.13.2.tgz",
"integrity": "sha512-KXeyotqj9jbvCjbSpwnxDE8E8jKoBgrgbJpOvvY5Zz7Pp2fAwu/94vWQtE/jPEJndY4C4MSs+ryJLFWzmLOa4w==",
"dev": true,
"optional": true
},
"esbuild-linux-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-arm64/-/esbuild-linux-arm64-0.13.2.tgz",
"integrity": "sha512-qwXL+3NDCWiC8RMKBBETpuOWdC+pUAUS+pwg9jJmapYblLdVKkyRtwF/ogj06TdYs6riSSNikW8HK/Xs0HHbbQ==",
"dev": true,
"optional": true
},
"esbuild-linux-mips64le": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-mips64le/-/esbuild-linux-mips64le-0.13.2.tgz",
"integrity": "sha512-sx8eheRX2XC2ppNAsbQm8/VUcU8XPYGpJK0BEyRefqHONz6u5Ib2guUdOz2Wh4YlbA7oOd482lHjprXSTwUcrQ==",
"dev": true,
"optional": true
},
"esbuild-linux-ppc64le": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-linux-ppc64le/-/esbuild-linux-ppc64le-0.13.2.tgz",
"integrity": "sha512-y8iZ3qy2TIAKKsZ6xSopCztHOtGW9oiYDl22vQ0UIoVWjnfRKrbSzX7Y2F94y32hSvRWle6OhAIC+UpS5nQmIA==",
"dev": true,
"optional": true
},
"esbuild-openbsd-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-openbsd-64/-/esbuild-openbsd-64-0.13.2.tgz",
"integrity": "sha512-g6AYrjBeV9OK624bw0KQ1TjHJQSW+X1Yicyd1NvDWqSFpMqKAjw7EUX4tA87mOFqv8BflPGr4f43ySgNvSVzIw==",
"dev": true,
"optional": true
},
"esbuild-sunos-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-sunos-64/-/esbuild-sunos-64-0.13.2.tgz",
"integrity": "sha512-hIXvFIyrqwFd6v62XSra0ctCUXDS9Tu5D6QYbvnbhEoBmvD/TmEJRYRH48/+xmRifKJLzu6aegcrjAsDmaww7g==",
"dev": true,
"optional": true
},
"esbuild-windows-32": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-windows-32/-/esbuild-windows-32-0.13.2.tgz",
"integrity": "sha512-Y767LG0NFkw0sPoDVOTKC5gaj4vURjjWfSCCDV5awpXXxBKOF2zsIp3aia4KvVoivoSSeRPk3emDd0OPHuPrKg==",
"dev": true,
"optional": true
},
"esbuild-windows-64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-windows-64/-/esbuild-windows-64-0.13.2.tgz",
"integrity": "sha512-01b59kVJUMasctn6lzswC0drchr7zO75QtF22o5w0nlOw0Zorw0loY/8i5choFuWc30gXJId9qBSc1zPvt7uEw==",
"dev": true,
"optional": true
},
"esbuild-windows-arm64": {
"version": "0.13.2",
"resolved": "https://registry.npmjs.org/esbuild-windows-arm64/-/esbuild-windows-arm64-0.13.2.tgz",
"integrity": "sha512-HxyY604ytmh8NkPYyS1TdIB/bFS7DWd1hP90e8Ovo/elEdN5I13h0tyIatDYZkXKS0Ztk+9T/3h6K0fI1a/4tQ==",
"dev": true,
"optional": true
},
"escalade": {
"version": "3.1.1",
"resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",

View File

@ -28,7 +28,7 @@
"noUnusedLocals": true,
"noUnusedParameters": true,
"noImplicitReturns": true,
"noFallthroughCasesInSwitch": true,
"noFallthroughCasesInSwitch": true
},
"exclude": [
"node_modules"

View File

@ -0,0 +1,6 @@
{
"extends": "./tsconfig.base.json",
"compilerOptions": {
"module": "ES2015"
}
}

View File

@ -10,19 +10,21 @@
"homepage": "https://github.com/dzeiocom/libs/tree/master/packages/object-util",
"author": "Aviortheking",
"license": "MIT",
"main": "./dist/ObjectUtil.js",
"types": "./dist/ObjectUtil.d.ts",
"main": "./dist/cjs/ObjectUtil.js",
"module": "./dist/esm/ObjectUtil.js",
"types": "./dist/types/ObjectUtil.d.ts",
"sideEffects": false,
"devDependencies": {
"@types/jest": "^27.0.0",
"esbuild": "^0.13.2",
"jest": "^27.0.0",
"parcel": "1.12.3",
"ts-jest": "^27.0.0",
"ts-node": "^10.2.1",
"typescript": "^4.0.2"
},
"scripts": {
"prepublishOnly": "npm run build",
"build": "parcel build src/index.ts --out-file browser.js --experimental-scope-hoisting && tsc",
"build": "esbuild src/index.ts --outfile=dist/browser.js --minify --bundle --target=es6 && tsc && tsc --project tsconfig.esm.json",
"test": "jest --coverage"
}
}

View File

@ -0,0 +1,11 @@
{
"extends": "../config/tsconfig.esm.json",
"compilerOptions": {
"outDir": "dist/esm",
"declaration": false,
"declarationDir": null
},
"files": [
"src/ObjectUtil.ts"
]
}

View File

@ -1,7 +1,8 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist"
"outDir": "dist/cjs",
"declarationDir": "dist/types"
},
"files": [
"src/ObjectUtil.ts"

View File

@ -10,7 +10,8 @@
"homepage": "https://github.com/dzeiocom/libs/tree/master/packages/url-manager#readme",
"author": "Aviortheking",
"license": "MIT",
"main": "./dist/URLManager.js",
"main": "./dist/cjs/URLManager.js",
"module": "./dist/esm/URLManager.js",
"types": "./dist/URLManager.d.ts",
"keywords": [
"url",
@ -23,15 +24,18 @@
"devDependencies": {
"@types/chai": "^4.2.12",
"@types/jest": "^26.0.10",
"esbuild": "^0.13.2",
"jest": "^26.4.2",
"parcel": "1.12.3",
"ts-jest": "^26.4.4",
"ts-node": "^10.2.1",
"typescript": "^4.0.2"
},
"scripts": {
"prepublishOnly": "yarn build",
"build": "parcel build src/index.ts --out-file browser.js --experimental-scope-hoisting && tsc",
"build": "esbuild src/index.ts --bundle --outfile=dist/browser.js --minify --target=es6 && tsc && tsc --project tsconfig.esm.json",
"test": "jest --coverage"
},
"dependencies": {
"@dzeio/object-util": "^1.4.0"
}
}

View File

@ -1,3 +1,5 @@
import { objectLoop } from '@dzeio/object-util'
/**
* Easy URLs manager
*/
@ -314,13 +316,9 @@ export default class URLManager {
return undefined
}
if (format) {
for (const key in format) {
if (!(key in format)) {
continue
}
const replacing = format[key]
path = path.replace(`[${key}]`, replacing)
}
objectLoop(format, (replacing, key) => {
path = path?.replace(`[${key}]`, replacing)
})
}
return `${(path.startsWith('/') ? '' : '/')}${path}`
}
@ -328,24 +326,17 @@ export default class URLManager {
private formatQuery(options?: { queryArrayJoin?: string }) {
let result = ''
const queryTmp = this.query()
for (const key in queryTmp) {
if (!Object.prototype.hasOwnProperty.call(queryTmp, key)) {
continue
}
const element = queryTmp[key]
objectLoop(queryTmp, (element, key) => {
result += result.length === 0 ? '?' : '&'
if (typeof element !== 'object') {
result += `${key}=${element}`
continue
return
}
if (options?.queryArrayJoin) {
result += `${key}=${element.join(options.queryArrayJoin)}`
continue
return
}
for (let i = 0; i < element.length; i++) {
@ -355,7 +346,7 @@ export default class URLManager {
}
result += `${key}=${val}`
}
}
})
if (!result) {
return undefined

View File

@ -0,0 +1,11 @@
{
"extends": "../config/tsconfig.esm.json",
"compilerOptions": {
"outDir": "dist/esm",
"declaration": false,
"declarationDir": null
},
"files": [
"src/URLManager.ts"
]
}

View File

@ -1,7 +1,8 @@
{
"extends": "../../tsconfig.base.json",
"compilerOptions": {
"outDir": "dist"
"outDir": "dist/cjs",
"declarationDir": "dist/types"
},
"files": [
"src/URLManager.ts"