Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

define-uniqueid

Package Overview
Dependencies
Maintainers
1
Versions
4
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

define-uniqueid

uniqueId property generator for arbitrary object types

  • 0.0.6
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

Build Status npm version Bower version

Define-uniqueid is a sequential, unique id generator that can be attached to arbitrary object prototypes. We would like to think that the following are its advantages over the alternatives:

  • Portability - It works across all the different JavaScript module formats.
  • Efficiency - uniqueId's are generated lazily, on-demand. This saves CPU cycles and memory space.
  • Customizability - You can add uniqueId to more specialized prototypes other than Object. You can customize the uniqueId by passing in your own formatting function, in the defineUniqueId call.

License

Usage

DOM / Chrome / Safari / Firefox / Opera

<script src="/bower_components/define-uniqueid/uniqid.js"></script>
<script>
var undefineFx = defineUniqueId(HTMLElement);
var div = document.createElement('div');
div.uniqueId;
</script>

CommonJS / Node


var defineUniqueId = require('define-uniqueid');
var undefineFx = defineUniqueId(Object);
({}).uniqueId;

AMD / Require.js

requirejs.config({
  baseUrl: '.',
  paths: {
    'define-uniqueid': './uniqid'
  }
});

requirejs(['define-uniqueid'], function(defineUniqueId) {
  var undefineFx = defineUniqueId(Object);
  ({}).uniqueId;
});


Options

An object containing options can be passed in the defineUniqueId call.

defineUniqueId(Object, {
  configurable: true,
  enumerable: true,
  redefine: true,
  format: function(id) { return 'obj-' + id; }
})

opts.property

Default: 'uniqueId'

Customize the name of the unique ID property.

opts.format

Customize the uniqueId by passing in your own formatting function.

defineUniqueId(Object, { format: function(id) { return 'obj-' + id; })

opts.configurable

Default: false

False means that the uniqueId property cannot be redefined. True means that the property can be redefined in both the object and the prototype object.

opts.enumerable

Default: false

True means that the uniqueId property can be enumerated.

opts.redefine

Default: false

By default, an error is thrown when the Object prototype already has a defineUniqueId property. Set this to true, to suppress these errors and to allow this property to be redefined.

Browser Support

This library has been tested with good success on a variety of browsers including :

  • Google Nexus 7 : Android 4.1
  • Samsung Galaxy S3 : Android 4.1
  • Chrome 36.0 : Windows 8.1
  • Firefox 30.0 : Windows 8.1
  • Safari 7.0 : OS X Mavericks

Internet Explorer is a confirmed exception. You should be able to work around this, by checking for the the presence of IE's doppelganger uniqueID first. Something like this:

var uniqueId = div.uniqueID || div.uniqueId;

Let me know if your particular browser has issues.

Keywords

FAQs

Package last updated on 16 Jun 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc