ps-util-is

1.0.1 • Public • Published

ps-util-is

This module copies functionality of core-util-is v1.0.2 for ExtendScript.

Installation

npm i ps-util-is

Usage

  • As a module for scripts that uses this template:
var util = require('ps-util-is');
  • As a module for scripts that uses #include:
#include "{path_to_bundle}/ps-util-is.jsx"
var util = require(ps-util-is);

typeof

The behavior of the typeof operator in ExtendScript differs from node.js:

// ExtendScript
var re = /a*/gim;
$.writeln(typeof re); // function !!!
//Node
var re = /a*/gim;
console.log(typeof re); // object

This module takes core-util-is as "source of truth", so:

// ExtendScript
var re = /a*/gim;
$.writeln(isObject(re)); // true
$.writeln(isRegExp(re)); // true
$.writeln(isFunction(re)); // false

isArray

This module will search for Array.isArray() polyfill. For example, ps-scripting-es5shim relies on __class__ property, and code in this repo relies on Object.prototype.toString

Results of core-util-is v1.0.2

Code isArray isBoolean isDate isError isFunction isNull isNullOrUndefined isNumber isObject isPrimitive isRegExp isString isUndefined
10 false false false false false false false TRUE false TRUE false false false
new Number(10) false false false false false false false false TRUE false false false false
overconfidence false false false false false false false false false TRUE false TRUE false
new String('overconfidence') false false false false false false false false TRUE false false false false
false false TRUE false false false false false false false TRUE false false false
new Boolean(false) false false false false false false false false TRUE false false false false
undefined false false false false false false TRUE false false TRUE false false TRUE
null false false false false false TRUE TRUE false false TRUE false false false
NaN false false false false false false false TRUE false TRUE false false false
[1,2,3] TRUE false false false false false false false TRUE false false false false
new Array(1,2,3) TRUE false false false false false false false TRUE false false false false
/a*/gim false false false false false false false false TRUE false TRUE false false
new RegExp('a*' , 'gim') false false false false false false false false TRUE false TRUE false false
new Date(2029,1,1) false false TRUE false false false false false TRUE false false false false
{prop: 12345} false false false false false false false false TRUE false false false false
new Object({prop: 12345}) false false false false false false false false TRUE false false false false
function(x){return x;} false false false false TRUE false false false false false false false false
new Function('x','return x;') false false false false TRUE false false false false false false false false
new Error('something bad happened') false false false TRUE false false false false TRUE false false false false

Results of ps-util-is

Code isArray isBoolean isDate isError isFunction isNull isNullOrUndefined isNumber isObject isPrimitive isRegExp isString isSymbol isUndefined
10 false false false false false false false TRUE false TRUE false false false false
new Number(10) false false false false false false false false TRUE false false false false false
overconfidence false false false false false false false false false TRUE false TRUE false false
new String('overconfidence') false false false false false false false false TRUE false false false false false
false false TRUE false false false false false false false TRUE false false false false
new Boolean(false) false false false false false false false false TRUE false false false false false
undefined false false false false false false TRUE false false TRUE false false false TRUE
null false false false false false TRUE TRUE false false TRUE false false false false
NaN false false false false false false false TRUE false TRUE false false false false
[1,2,3] TRUE false false false false false false false TRUE false false false false false
new Array(1,2,3) TRUE false false false false false false false TRUE false false false false false
/a*/gim false false false false false false false false TRUE false TRUE false false false
new RegExp('a*' , 'gim') false false false false false false false false TRUE false TRUE false false false
new Date(2029,1,1) false false TRUE false false false false false TRUE false false false false false
{prop: 12345} false false false false false false false false TRUE false false false false false
new Object({prop: 12345}) false false false false false false false false TRUE false false false false false
function(x){return x;} false false false false TRUE false false false false false false false false false
new Function('x','return x;') false false false false TRUE false false false false false false false false false
new Error('something bad happened') false false false TRUE false false false false TRUE false false false false false

Tests

Tests will be kept only in github repo. If you want to test on another dataset do the following steps:

  1. Get files from this repo, then npm install
  2. ./test/data/test_data.js change data as you need.
  3. [OPTIONAL] nmp run watch just in case (rebuild bundles).
  4. run ./build/test_bundle.jsx in ESTK, or in target app. This will rewrite ./test/data/ps-util-is-result.js
  5. npm test see test results in console

Package Sidebar

Install

npm i ps-util-is

Weekly Downloads

2

Version

1.0.1

License

MIT

Unpacked Size

14.5 kB

Total Files

5

Last publish

Collaborators

  • dady