1.0.7 โ€ข Published 2 years ago

@danielcobo/hasprotocol v1.0.7

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

hasprotocol

Returns true/false if string starts protocol such as http://

๐Ÿงญ Table of contents

โœจ Benefits

  • works with several protocols
  • no extra dependencies
  • strict typing

๐ŸŽ’ Requierments

No requierments, just works.

๐Ÿš€ Quickstart

Install

NodeJS

Install using the terminal:

npm install @danielcobo/hasprotocol

Require the module:

const hasprotocol = require('@danielcobo/hasprotocol');

Note: In case you're wondering, @danielcobo/ is just a namespace scope - an NPM feature. Scopes make it easier to name modules and improve security.

Browser

Declare it as a global variable named hasprotocol by including this script before any script you want to use it in:

<script src="https://cdn.jsdelivr.net/npm/@danielcobo/hasprotocol@1/dist/iife/hasprotocol.min.js"></script>

Or import it as an ECMAScript module:

import * as hasprotocol from 'https://cdn.jsdelivr.net/npm/@danielcobo/hasprotocol@1/dist/esm/hasprotocol.min.js';

Also, feel free to download the file if you prefer not to use jsdelivr. In that case just replace the url with the relative file path.

Example use

hasProtocol('http://') //true
hasProtocol('http://hello') //true
hasProtocol('helloworldhttp://hello') //false

hasProtocol('https://') //true
hasProtocol('https://hello') //true
hasProtocol('helloworldhttps://hello') //false

hasProtocol('localhost://') //true
hasProtocol('localhost://hello') //true
hasProtocol('helloworldlocalhost://hello') //false

hasProtocol('file:///') //true
hasProtocol('file:///') //true
hasProtocol('helloworldfile:///') //false
hasProtocol('file://') //true

For details see documentation below.

๐Ÿ“˜ Documentation

hasprotocol()

Returns true/false if string starts with `http`, `https`, `localhost` or `file`, followed by `:` and two or three `/`

NameTypeDefaultDescription
strstringInput string

Returns

TypeDescription
booleanTrue/false if input string has protocol

Source: src/index.js:1

๐Ÿ†˜ Troubleshooting

If you run into trouble or have questions just submit an issue.

๐Ÿค Contributing

Anyone can contribute

Contributions come in many shapes and sizes. All are welcome. You can contribute by:

  • asking questions
  • suggesting features
  • sharing this repo with friends
  • improving documentation (even fixing typos counts ๐Ÿ˜‰)
  • providing tutorials (if you do, please let me know, I would love to read them)
  • improving tests
  • contributing code (new features, performance boosts, code readability improvements..)

Rules for contributions

General guidelines:

  • there are no dumb questions
  • be polite and respectful to others
  • do good

When coding remember:

  • working > maintainability > performance
  • best code is no code
  • be descriptive when naming
  • keep it DRY
  • do test

Contribution licence: All contributions are considered to be under same license as this repository.

๐Ÿงช Testing

Testing suite: ๐Ÿƒ Jest | Test command: npm test

Mutation testing suite: ๐Ÿ‘ฝ Stryker Mutator | Mutation test command: npm run mutation

If you intend to develop further or contribute code, then please ensure to write and use testing. Strive for 100% code coverage and high mutation scores. Mutation score 100 is great, but it's not always neccessary (if there are valid reasons).

โš–๏ธ License

MIT License

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

3 years ago