JSPM

  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 27016948
  • Score
    100M100P100Q211833F

utilities for primitive JavaScript types

Package Exports

  • jsprim

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jsprim) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

jsprim: utilities for primitive JavaScript types

This module provides miscellaneous facilities for working with strings, numbers, dates, and objects and arrays of these basic types.

deepCopy(obj)

Creates a deep copy of a primitive type, object, or array of primitive types.

isEmpty(obj)

Returns true if the given object has no properties and false otherwise. This is O(1) (unlike Object.keys(obj).length === 0, which is O(N)).

forEachKey(obj, callback)

Like Array.forEach, but iterates properties of an object rather than elements of an array. Equivalent to:

for (var key in obj)
        callback(key, obj[key]);

randElt(array)

Returns an element from "array" selected uniformly at random. If "array" is empty, throws an Error.

startsWith(str, prefix)

Returns true if the given string starts with the given prefix and false otherwise.

endsWith(str, suffix)

Returns true if the given string ends with the given suffix and false otherwise.

iso8601(date)

Converts a Date object to an ISO8601 date string of the form "YYYY-MM-DDTHH:MM:SS.sssZ". This format is not customizable.

validateJsonObject(schema, object)

Uses JSON validation (via JSV) to validate the given object against the given schema. On success, returns null. On failure, returns (does not throw) a useful Error object.