update
This commit is contained in:
+1
-1
@@ -1,6 +1,6 @@
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2015-19 Ionică Bizău <bizauionica@gmail.com> (https://ionicabizau.net)
|
||||
Copyright (c) 2015-22 Ionică Bizău <bizauionica@gmail.com> (https://ionicabizau.net)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
+168
-14
@@ -1,14 +1,52 @@
|
||||
<!-- Please do not edit this file. Edit the `blah` field in the `package.json` instead. If in doubt, open an issue. -->
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# protocols
|
||||
|
||||
[![Support me on Patreon][badge_patreon]][patreon] [![Buy me a book][badge_amazon]][amazon] [![PayPal][badge_paypal_donate]][paypal-donations] [](https://github.com/IonicaBizau/ama) [](https://travis-ci.org/IonicaBizau/protocols/) [](https://www.npmjs.com/package/protocols) [](https://www.npmjs.com/package/protocols) [](https://www.codementor.io/johnnyb?utm_source=github&utm_medium=button&utm_term=johnnyb&utm_campaign=github)
|
||||
|
||||
<a href="https://www.buymeacoffee.com/H96WwChMy" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/yellow_img.png" alt="Buy Me A Coffee"></a>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
> Get the protocols of an input url.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## :cloud: Installation
|
||||
|
||||
```sh
|
||||
@@ -20,6 +58,17 @@ yarn add protocols
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## :clipboard: Example
|
||||
|
||||
|
||||
@@ -37,17 +86,28 @@ console.log(protocols("http://ionicabizau.net", true));
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## :question: Get Help
|
||||
|
||||
There are few ways to get help:
|
||||
|
||||
|
||||
|
||||
1. Please [post questions on Stack Overflow](https://stackoverflow.com/questions/ask). You can open issues with questions, as long you add a link to your Stack Overflow question.
|
||||
2. For bug reports and feature requests, open issues. :bug:
|
||||
|
||||
3. For direct and quick help, you can [use Codementor](https://www.codementor.io/johnnyb). :rocket:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## :memo: Documentation
|
||||
|
||||
|
||||
@@ -56,7 +116,7 @@ Returns the protocols of an input url.
|
||||
|
||||
#### Params
|
||||
|
||||
- **String** `input`: The input url.
|
||||
- **String|URL** `input`: The input url (string or `URL` instance)
|
||||
- **Boolean|Number** `first`: If `true`, the first protocol will be returned. If number, it will represent the zero-based index of the protocols array.
|
||||
|
||||
#### Return
|
||||
@@ -64,12 +124,22 @@ Returns the protocols of an input url.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## :yum: How to contribute
|
||||
Have an idea? Found a bug? See [how to contribute][contributing].
|
||||
|
||||
|
||||
## :sparkling_heart: Support my projects
|
||||
|
||||
I open-source almost everything I can, and I try to reply to everyone needing help using these projects. Obviously,
|
||||
this takes time. You can integrate and use these projects in your applications *for free*! You can even change the source code and redistribute (even resell it).
|
||||
|
||||
@@ -88,31 +158,115 @@ However, if you get some profit from this or just want to encourage me to contin
|
||||
Thanks! :heart:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
## :dizzy: Where is this library used?
|
||||
If you are using this library in one of your projects, add it in this list. :sparkles:
|
||||
|
||||
- `parse-url`
|
||||
- `parse-path`
|
||||
- `is-ssh`
|
||||
- `@enkeledi/react-native-week-month-date-picker`
|
||||
- `bb-parse-url`
|
||||
- `@hemith/react-native-tnk`
|
||||
- `miguelcostero-ng2-toasty`
|
||||
- `native-kakao-login`
|
||||
- `react-native-my-first-try-arun-ramya`
|
||||
- `react-native-kakao-maps`
|
||||
- `react-native-is7`
|
||||
- `react-native-ytximkit`
|
||||
- `react-native-payu-payment-testing`
|
||||
- `npm_one_1_2_3`
|
||||
- `react-native-biometric-authenticate`
|
||||
- `react-native-arunmeena1987`
|
||||
- `react-native-contact-list`
|
||||
- `rn-adyen-dropin`
|
||||
- `@positionex/position-sdk`
|
||||
- `@corelmax/react-native-my2c2p-sdk`
|
||||
- `@felipesimmi/react-native-datalogic-module`
|
||||
- `@hawkingnetwork/react-native-tab-view`
|
||||
- `react-native-cplus`
|
||||
- `npm_qwerty`
|
||||
- `native-apple-login`
|
||||
- `drowl-base-theme-iconset`
|
||||
- `react-native-arunjeyam1987`
|
||||
- `react-native-bubble-chart`
|
||||
- `react-native-flyy`
|
||||
- `@apardellass/react-native-audio-stream`
|
||||
- `@geeky-apo/react-native-advanced-clipboard`
|
||||
- `candlelabssdk`
|
||||
- `@saad27/react-native-bottom-tab-tour`
|
||||
- `generator-bootstrap-boilerplate-template`
|
||||
- `react-feedback-sdk`
|
||||
- `npm_one_12_34_1_`
|
||||
- `npm_one_2_2`
|
||||
- `payutesting`
|
||||
- `react-native-dsphoto-module`
|
||||
- `react-native-sayhello-module`
|
||||
- `react-native-responsive-size`
|
||||
- `@con-test/react-native-concent-common`
|
||||
- `luojia-cli-dev`
|
||||
- `birken-react-native-community-image-editor`
|
||||
- `reac-native-arun-ramya-test`
|
||||
- `react-native-arun-ramya-test`
|
||||
- `react-native-arunramya151`
|
||||
- `react-native-pulsator-native`
|
||||
- `react-native-plugpag-wrapper`
|
||||
- `react-native-transtracker-library`
|
||||
- `@screeb/react-native`
|
||||
- `@buganto/client`
|
||||
- `astra-ufo-sdk`
|
||||
- `angularvezba`
|
||||
- `react-native-syan-photo-picker`
|
||||
- `@wecraftapps/react-native-use-keyboard`
|
||||
- `l2forlerna`
|
||||
- `native-google-login`
|
||||
- `raact-native-arunramya151`
|
||||
- `react-native-modal-progress-bar`
|
||||
- `react-native-test-module-hhh`
|
||||
- `react-native-jsi-device-info`
|
||||
- `react-native-badge-control`
|
||||
- `rn-tm-notify`
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
- [`bb-parse-url`](https://github.com/IonicaBizau/parse-url)—An advanced url parser supporting git urls too.
|
||||
- [`is-ssh`](https://github.com/IonicaBizau/node-is-ssh)—Check if an input value is a ssh url or not.
|
||||
- [`miguelcostero-ng2-toasty`](https://github.com/akserg/ng2-toasty) (by Sergey Akopkokhyants)—Angular2 Toasty component shows growl-style alerts and messages for your web app
|
||||
- [`parse-path`](https://github.com/IonicaBizau/parse-path)—Parse paths (local paths, urls: ssh/git/etc)
|
||||
- [`parse-url`](https://github.com/IonicaBizau/parse-url)—An advanced url parser supporting git urls too.
|
||||
|
||||
## :scroll: License
|
||||
|
||||
[MIT][license] © [Ionică Bizău][website]
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
[license]: /LICENSE
|
||||
[website]: https://ionicabizau.net
|
||||
[contributing]: /CONTRIBUTING.md
|
||||
[docs]: /DOCUMENTATION.md
|
||||
[badge_patreon]: https://ionicabizau.github.io/badges/patreon.svg
|
||||
[badge_amazon]: https://ionicabizau.github.io/badges/amazon.svg
|
||||
[badge_paypal]: https://ionicabizau.github.io/badges/paypal.svg
|
||||
[badge_paypal_donate]: https://ionicabizau.github.io/badges/paypal_donate.svg
|
||||
|
||||
[patreon]: https://www.patreon.com/ionicabizau
|
||||
[amazon]: http://amzn.eu/hRo9sIZ
|
||||
[paypal-donations]: https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RVXDDLKKLQRJW
|
||||
|
||||
[license]: http://showalicense.com/?fullname=Ionic%C4%83%20Biz%C4%83u%20%3Cbizauionica%40gmail.com%3E%20(https%3A%2F%2Fionicabizau.net)&year=2015#license-mit
|
||||
[website]: https://ionicabizau.net
|
||||
[contributing]: /CONTRIBUTING.md
|
||||
[docs]: /DOCUMENTATION.md
|
||||
|
||||
+11
-3
@@ -6,7 +6,7 @@
|
||||
*
|
||||
* @name protocols
|
||||
* @function
|
||||
* @param {String} input The input url.
|
||||
* @param {String|URL} input The input url (string or `URL` instance)
|
||||
* @param {Boolean|Number} first If `true`, the first protocol will be returned. If number, it will represent the zero-based index of the protocols array.
|
||||
* @return {Array|String} The array of protocols or the specified protocol.
|
||||
*/
|
||||
@@ -16,8 +16,16 @@ module.exports = function protocols(input, first) {
|
||||
first = 0;
|
||||
}
|
||||
|
||||
var index = input.indexOf("://"),
|
||||
splits = input.substring(0, index).split("+").filter(Boolean);
|
||||
var prots = "";
|
||||
if (typeof input === "string") {
|
||||
try {
|
||||
prots = new URL(input).protocol;
|
||||
} catch (e) {}
|
||||
} else if (input && input.constructor === URL) {
|
||||
prots = input.protocol;
|
||||
}
|
||||
|
||||
var splits = prots.split(/\:|\+/).filter(Boolean);
|
||||
|
||||
if (typeof first === "number") {
|
||||
return splits[first];
|
||||
|
||||
+14
-16
@@ -1,34 +1,32 @@
|
||||
{
|
||||
"_args": [
|
||||
[
|
||||
"protocols@1.4.7",
|
||||
"/mnt/Foxconn/Digitalent/Deverloper/liff-push_2series"
|
||||
"protocols@2.0.1",
|
||||
"/home/node/nuxt"
|
||||
]
|
||||
],
|
||||
"_from": "protocols@1.4.7",
|
||||
"_id": "protocols@1.4.7",
|
||||
"_from": "protocols@2.0.1",
|
||||
"_id": "protocols@2.0.1",
|
||||
"_inBundle": false,
|
||||
"_integrity": "sha512-Fx65lf9/YDn3hUX08XUc0J8rSux36rEsyiv21ZGUC1mOyeM3lTRpZLcrm8aAolzS4itwVfm7TAPyxC2E5zd6xg==",
|
||||
"_integrity": "sha512-/XJ368cyBJ7fzLMwLKv1e4vLxOju2MNAIokcr7meSaNcVbWz/CPcW22cP04mwxOErdA5mwjA8Q6w/cdAQxVn7Q==",
|
||||
"_location": "/protocols",
|
||||
"_phantomChildren": {},
|
||||
"_requested": {
|
||||
"type": "version",
|
||||
"registry": true,
|
||||
"raw": "protocols@1.4.7",
|
||||
"raw": "protocols@2.0.1",
|
||||
"name": "protocols",
|
||||
"escapedName": "protocols",
|
||||
"rawSpec": "1.4.7",
|
||||
"rawSpec": "2.0.1",
|
||||
"saveSpec": null,
|
||||
"fetchSpec": "1.4.7"
|
||||
"fetchSpec": "2.0.1"
|
||||
},
|
||||
"_requiredBy": [
|
||||
"/is-ssh",
|
||||
"/parse-path",
|
||||
"/parse-url"
|
||||
"/is-ssh"
|
||||
],
|
||||
"_resolved": "https://registry.npmjs.org/protocols/-/protocols-1.4.7.tgz",
|
||||
"_spec": "1.4.7",
|
||||
"_where": "/mnt/Foxconn/Digitalent/Deverloper/liff-push_2series",
|
||||
"_resolved": "https://registry.npmjs.org/protocols/-/protocols-2.0.1.tgz",
|
||||
"_spec": "2.0.1",
|
||||
"_where": "/home/node/nuxt",
|
||||
"author": {
|
||||
"name": "Ionică Bizău",
|
||||
"email": "bizauionica@gmail.com",
|
||||
@@ -40,7 +38,7 @@
|
||||
"dependencies": {},
|
||||
"description": "Get the protocols of an input url.",
|
||||
"devDependencies": {
|
||||
"tester": "^1.3.1"
|
||||
"tester": "^1.4.5"
|
||||
},
|
||||
"directories": {
|
||||
"example": "example",
|
||||
@@ -78,5 +76,5 @@
|
||||
"scripts": {
|
||||
"test": "node test"
|
||||
},
|
||||
"version": "1.4.7"
|
||||
"version": "2.0.1"
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user