<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Kasun Madusanka</title>
    <description>The latest articles on DEV Community by Kasun Madusanka (@kmkm).</description>
    <link>https://dev.to/kmkm</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F646982%2F8a863fa9-430c-4568-8cfd-b6690db00a40.png</url>
      <title>DEV Community: Kasun Madusanka</title>
      <link>https://dev.to/kmkm</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/kmkm"/>
    <language>en</language>
    <item>
      <title>Color format filtering NPM package</title>
      <dc:creator>Kasun Madusanka</dc:creator>
      <pubDate>Fri, 03 Sep 2021 07:49:41 +0000</pubDate>
      <link>https://dev.to/kmkm/color-format-filtering-npm-package-53c3</link>
      <guid>https://dev.to/kmkm/color-format-filtering-npm-package-53c3</guid>
      <description>&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--nIZKG16A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vr2shf4tqepxpf9uia6i.jpeg" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--nIZKG16A--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/vr2shf4tqepxpf9uia6i.jpeg" alt="Alt Text"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;color-detector&lt;/strong&gt; is an Javascript library to get all the HTML colors (256 colors) in standard formats. (hex, rgb, hsl and simple name).&lt;/p&gt;

&lt;p&gt;This library helps you to filter through any type of standard color format and find you all other details of it.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://www.npmjs.com/package/color-detector"&gt;Link to NPM package&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;npm install color-detector --save&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  Usage
&lt;/h2&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// import the library
const {
    accessFromId,
    accessFromName,
    accessFromHexString,
    accessColorFromRGB,
    accessColorFromHSL
} = require('color-detector');

(async () =&amp;gt; {
    try {

    // get color from name
    const resultFromName = await accessFromName('Green');
    console.log('result from name :', resultFromName);

    // get color from hex
    const resultFromHex = await accessFromHexString('#000000');
    console.log('result from Hex :', resultFromHex);

    // get color from RGB
    const resultFromRGB = await accessColorFromRGB({
        r: 128,
        g: 0,
        b: 128,
    });
    console.log('result from RGB :', resultFromRGB);

    // get color from HSL
    const resultFromHSL = await accessColorFromHSL({
        h: 0,
        s: 0,
        l: 75,
    });
    console.log('result from HSL :', resultFromHSL);

    // get color from ID
    const resultFromId = await accessFromId(10);
    console.log('result from Id :', resultFromId);

} catch (error) {
    console.log(error);
}
})();
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;p&gt;Result :-&lt;/p&gt;


&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;result from name : {&lt;br&gt;
  colorId: 2,&lt;br&gt;
  hexString: '#008000',&lt;br&gt;
  rgb: { r: 0, g: 128, b: 0 },&lt;br&gt;
  hsl: { h: 120, s: 100, l: 25 },&lt;br&gt;
  name: 'Green'&lt;br&gt;
}&lt;br&gt;
result from Hex : {&lt;br&gt;
  colorId: 0,&lt;br&gt;
  hexString: '#000000',&lt;br&gt;
  rgb: { r: 0, g: 0, b: 0 },&lt;br&gt;
  hsl: { h: 0, s: 0, l: 0 },&lt;br&gt;
  name: 'Black'&lt;br&gt;
}&lt;br&gt;
result from RGB : {&lt;br&gt;
  colorId: 5,&lt;br&gt;
  hexString: '#800080',&lt;br&gt;
  rgb: { r: 128, g: 0, b: 128 },&lt;br&gt;
  hsl: { h: 300, s: 100, l: 25 },&lt;br&gt;
  name: 'Purple'&lt;br&gt;
}&lt;br&gt;
result from HSL : {&lt;br&gt;
  colorId: 7,&lt;br&gt;
  hexString: '#c0c0c0',&lt;br&gt;
  rgb: { r: 192, g: 192, b: 192 },&lt;br&gt;
  hsl: { h: 0, s: 0, l: 75 },&lt;br&gt;
  name: 'Silver'&lt;br&gt;
}&lt;br&gt;
result from Id : {&lt;br&gt;
  colorId: 10,&lt;br&gt;
  hexString: '#00ff00',&lt;br&gt;
  rgb: { r: 0, g: 255, b: 0 },&lt;br&gt;
  hsl: { h: 120, s: 100, l: 50 },&lt;br&gt;
  name: 'Lime'&lt;br&gt;
}&lt;br&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h2&gt;
&lt;br&gt;
  &lt;br&gt;
  &lt;br&gt;
  Reference&lt;br&gt;
&lt;/h2&gt;

&lt;p&gt;The colors which are avaible in the library is refered from &lt;a href="https://jonasjacek.github.io/colors/"&gt;jonasjacek.github.io/colors&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Licence
&lt;/h2&gt;

&lt;p&gt;(The MIT License) Copyright (c) 2021 &lt;a href="//mailto:kmkasunmadushanka@gmail.com"&gt;kmkasunmadushanka@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>javascript</category>
      <category>npm</category>
      <category>color</category>
      <category>colour</category>
    </item>
    <item>
      <title>NPM : Dialog SMS Gateway Library</title>
      <dc:creator>Kasun Madusanka</dc:creator>
      <pubDate>Thu, 10 Jun 2021 06:58:37 +0000</pubDate>
      <link>https://dev.to/kmkm/dialog-sms-gateway-305g</link>
      <guid>https://dev.to/kmkm/dialog-sms-gateway-305g</guid>
      <description>&lt;p&gt;&lt;strong&gt;JavaScript library to send SMS through Dialog telecommunication service&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This library will handle single or multiple SMS send functionality with Dialog telecommunications service.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm install dialog-sms-service&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  How to use
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;smsGateway&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog-sms-service&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="k"&gt;async&lt;/span&gt; &lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
  &lt;span class="k"&gt;try&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;// set configuration&lt;/span&gt;
    &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;smsGateway&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setConfig&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
      &lt;span class="na"&gt;digest&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_digest_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_mask_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_user_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
      &lt;span class="na"&gt;campaignName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_campaignName_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;//optional&lt;/span&gt;
    &lt;span class="p"&gt;});&lt;/span&gt;

    &lt;span class="c1"&gt;//send message&lt;/span&gt;
    &lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;result&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;smsGateway&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sendSMS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;07XXXXXXXX&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;Dialog sms test&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;result&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="k"&gt;catch&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;console&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;log&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;})();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  How to work
&lt;/h2&gt;

&lt;h4&gt;
  
  
  First needs to contact Dialog Axiata PLC to get credentials for the SMS gateway.
&lt;/h4&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Note:-&lt;/strong&gt; Please contact &lt;a href="https://www.dialog.lk/browse/businessWithSubLevels.jsp?id=onlinefld70074"&gt;&lt;strong&gt;Dialog Axiata PLC&lt;/strong&gt;&lt;/a&gt; in order to obtain following fields.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Username&lt;/td&gt;
&lt;td&gt;User name for the Dialog SMS gateway account.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Password&lt;/td&gt;
&lt;td&gt;Password for the Dialog SMS gateway account.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mask&lt;/td&gt;
&lt;td&gt;Text that appears as the sender of the SMS. &lt;strong&gt;Eg:-&lt;/strong&gt; PIZZAHUT&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  set configurations for the SMS gateway
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="c1"&gt;// set configuration&lt;/span&gt;
&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;smsGateway&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;setConfig&lt;/span&gt;&lt;span class="p"&gt;({&lt;/span&gt;
  &lt;span class="na"&gt;digest&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_digest_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;mask&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_mask_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;user&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_user_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
  &lt;span class="na"&gt;campaignName&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;dialog_msg_campaignName_here&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="c1"&gt;//optional&lt;/span&gt;
&lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;user&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Required&lt;/em&gt;. Username that will provided by Dialog.&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;mask&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Required&lt;/em&gt;. A String. SMS sender ID.Mask value provided by Dialog. &lt;strong&gt;Eg:-&lt;/strong&gt; test (For the test account)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;digest&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Required&lt;/em&gt;. &lt;a href="https://www.md5hashgenerator.com/"&gt;md5 encripted&lt;/a&gt; values of password. {digest = md5(password provided by dialog)}&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;campaignName&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Optional&lt;/em&gt;. Campaign name to be used in reporting.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  Send SMS
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="k"&gt;await&lt;/span&gt; &lt;span class="nx"&gt;smsGateway&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;sendSMS&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Phone&lt;/span&gt; &lt;span class="nb"&gt;Number&lt;/span&gt; &lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="nx"&gt;Message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Field&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Phone Number&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Required&lt;/em&gt;. A String. Phone number/s which will need to receive SMS. the phone number needs to either start with 0 or 94 (do not use +94). If there are multiple receivers make sure to add them as comma (,) separated text. Eg :- '0771111111,0712222222'&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Message&lt;/td&gt;
&lt;td&gt;
&lt;em&gt;Required&lt;/em&gt;. A String. The content of the SMS goes here.&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Licence
&lt;/h2&gt;

&lt;p&gt;(The MIT License)&lt;br&gt;
Copyright (c) 2021 &lt;a href="mailto:kmkasunmadushanka@gmail.com"&gt;kmkasunmadushanka@gmail.com&lt;/a&gt;&lt;/p&gt;

</description>
      <category>npm</category>
      <category>node</category>
      <category>javascript</category>
    </item>
  </channel>
</rss>
