DEV Community

Cover image for Navigating the JavaScript Frontier with is.primitive and is.not_primitive from 'thiis'
Ivan Karbashevskyi
Ivan Karbashevskyi

Posted on

Navigating the JavaScript Frontier with is.primitive and is.not_primitive from 'thiis'

JavaScript, the land of endless possibilities, often involves working with different data types. Sometimes, you just need to know if you're dealing with the basic building blocks—primitive values. Enter the is.primitive method and its trusty companion, is.not_primitive, from the 'thiis' package. In this friendly exploration, we'll embark on a journey through JavaScript's diverse landscape and learn how these methods can simplify your coding adventures.

Understanding the Primitives of JavaScript

Image description

Before we dive into the magical world of is.primitive, let's quickly review what primitive values are in JavaScript. Primitives are the simplest, indivisible building blocks of the language. They include numbers, strings, booleans, null, undefined, and symbols. Recognizing these is crucial for understanding how values behave in your code.

Meet is.primitive - Your Guide to Simplicity

Documentation link

Imagine you're wandering through a vast JavaScript forest, and you come across a mysterious value. Is it a primitive, or something more complex? The is.primitive method acts as your guide, helping you determine if a value is indeed a primitive. Let's see it in action:

import { is } from 'thiis'; // Import the "is" object from the "thiis" package

const myValue = 42;
const result = is.primitive(myValue);

console.log(result); // true
Enter fullscreen mode Exit fullscreen mode

In this example, we import the "is" object from the "thiis" package and use the is.primitive method to confirm that myValue is indeed a primitive value. As expected, it returns true because the value is a number, a primitive in JavaScript.

The Journey of Examples

Now, let's embark on a delightful journey through six unique scenarios, showcasing the simplicity and power of is.primitive and its companion, is.not_primitive. We'll explore a variety of situations, from user input to streams and arrays.

1. Validating User Input as Primitive

When users interact with your application, it's essential to validate their input. is.primitive can help ensure that the input is a simple, primitive value:

import { is } from 'thiis';

function validateUserInput(input) {
  if (is.primitive(input)) {
    return 'Input validated as a primitive value!';
  } else {
    return 'Please provide a simple, primitive value.';
  }
}
Enter fullscreen mode Exit fullscreen mode

2. Guarding Against Non-Primitives

Conversely, is.not_primitive is your guardian against non-primitive values. It ensures that the value is not something more complex:

import { is } from 'thiis';

const complexObject = { data: 'not primitive' };

if (is.not_primitive(complexObject)) {
  // Handle the scenario where the value is not a primitive.
} else {
  // Continue with the simplicity of primitives.
}
Enter fullscreen mode Exit fullscreen mode

3. Navigating a Stream of Values

Let's dive into the world of streams using RxJS. You can use filter and is.primitive to ensure that your stream processes only primitive values:

import { is } from 'thiis';
import { from } from 'rxjs';
import { filter } from 'rxjs/operators';

const stream$ = from([42, 'a string', { object: 'not primitive' }, true, null]);

stream$
  .pipe(
    filter(is.primitive)
  )
  .subscribe(value => {
    console.log(value); // Only primitive values will continue down the stream.
  });
Enter fullscreen mode Exit fullscreen mode

In this example, the filter(is.primitive) ensures that only primitive values are processed by the stream.

4. Array Exploration with is.not_primitive

Arrays are a common playground for different data types. Use is.not_primitive with some() to check if at least one element is not a primitive:

import { is } from 'thiis';

const mixedArray = [42, 'string', { object: 'not primitive' }, true, null];

const hasNonPrimitive = mixedArray.some(is.not_primitive); // true

console.log(hasNonPrimitive);
Enter fullscreen mode Exit fullscreen mode

Here, hasNonPrimitive checks if at least one element in mixedArray is not a primitive value.

5. Simple Math with is.primitive

Math operations often involve primitive values. Use is.primitive to ensure that a value is suitable for basic arithmetic:

import { is } from 'thiis';

const myNumber = 42;

if (is.primitive(myNumber)) {
  const result = myNumber * 2;
  console.log(result); // 84
} else {
  console.log('Not a valid primitive for arithmetic operations.');
}
Enter fullscreen mode Exit fullscreen mode

6. Checking for undefined

is.not_primitive is handy when checking for undefined, ensuring your code handles cases where a value is not defined:

import { is } from 'thiis';

let myVariable;

if (is.not_primitive(myVariable)) {
  // Handle the scenario where the variable is defined.
} else {
  console.log('Variable is not defined.');
}
Enter fullscreen mode Exit fullscreen mode

The Adventure Continues

The is.primitive and is.not_primitive methods from the 'thiis' package are your reliable companions on your JavaScript adventure. They simplify the process of identifying and working with primitive values, making your code clearer and more robust. By adding the 'thiis' package to your JavaScript toolkit and exploring its documentation for more tips and examples, you can navigate the JavaScript landscape with confidence and a touch of simplicity.

So, keep coding, and enjoy the simplicity of primitives in JavaScript!

🎗 ChatGPT & DALL·E 3

Top comments (1)

Collapse
 
karbashevskyi profile image
Ivan Karbashevskyi

Telegram channel:
t.me/thiis_pkg

NPM:
npmjs.com/thiis