Socket
Socket
Sign inDemoInstall

@reach/auto-id

Package Overview
Dependencies
Maintainers
1
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@reach/auto-id - npm Package Compare versions

Comparing version 0.1.0 to 0.2.0

40

es/index.js

@@ -1,32 +0,22 @@

import React, { createContext, useRef, useCallback, useContext } from "react";
import { useState, useEffect } from "react";
// Most things that we auto-id aren't server rendered, and are rendered into
// portals anyway, so we can get away with random ids in a default context. If
// people need to server render with auto-ids, they can wrap their app in an
// IdProvider
// Could use UUID but if we hit 9,007,199,254,740,991 unique components over
// the lifetime of the app before it gets reloaded, I mean ... come on.
// I don't even know what xillion that is.
// /me googles
// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.
var id = 0;
var genId = function genId() {
return Math.random().toString(32).substring(2);
return ++id;
};
var Context = createContext(genId);
export var useId = function useId() {
var _useState = useState(null),
id = _useState[0],
setId = _useState[1];
export var AutoIdProvider = function AutoIdProvider(_ref) {
var children = _ref.children;
var ref = useRef(0);
// could use UUID but if we hit 9,007,199,254,740,991 unique components over
// the lifetime of the app before it gets reloaded, I mean ... come on.
// I don't even know what xillion that is.
// /me googles
// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.
var genId = useCallback(function () {
return ++ref.current;
useEffect(function () {
return setId(genId());
}, []);
return React.createElement(Context.Provider, { value: genId, children: children });
};
export var useId = function useId() {
var genId = useContext(Context);
var ref = useRef(genId());
return ref.current;
return id;
};
"use strict";
exports.__esModule = true;
exports.useId = exports.AutoIdProvider = undefined;
exports.useId = undefined;
var _react = require("react");
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// Most things that we auto-id aren't server rendered, and are rendered into
// portals anyway, so we can get away with random ids in a default context. If
// people need to server render with auto-ids, they can wrap their app in an
// IdProvider
// Could use UUID but if we hit 9,007,199,254,740,991 unique components over
// the lifetime of the app before it gets reloaded, I mean ... come on.
// I don't even know what xillion that is.
// /me googles
// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.
var id = 0;
var genId = function genId() {
return Math.random().toString(32).substring(2);
return ++id;
};
var Context = (0, _react.createContext)(genId);
var useId = exports.useId = function useId() {
var _useState = (0, _react.useState)(null),
id = _useState[0],
setId = _useState[1];
var AutoIdProvider = exports.AutoIdProvider = function AutoIdProvider(_ref) {
var children = _ref.children;
var ref = (0, _react.useRef)(0);
// could use UUID but if we hit 9,007,199,254,740,991 unique components over
// the lifetime of the app before it gets reloaded, I mean ... come on.
// I don't even know what xillion that is.
// /me googles
// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.
var genId = (0, _react.useCallback)(function () {
return ++ref.current;
(0, _react.useEffect)(function () {
return setId(genId());
}, []);
return _react2.default.createElement(Context.Provider, { value: genId, children: children });
};
var useId = exports.useId = function useId() {
var genId = (0, _react.useContext)(Context);
var ref = (0, _react.useRef)(genId());
return ref.current;
return id;
};
{
"name": "@reach/auto-id",
"version": "0.1.0",
"version": "0.2.0",
"description": "Autogenerate IDs to facilitate WAI-ARIA and server rendering.",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -1,29 +0,15 @@

import React, { createContext, useRef, useCallback, useContext } from "react";
import { useState, useEffect } from "react";
// Most things that we auto-id aren't server rendered, and are rendered into
// portals anyway, so we can get away with random ids in a default context. If
// people need to server render with auto-ids, they can wrap their app in an
// IdProvider
const genId = () =>
Math.random()
.toString(32)
.substring(2);
// Could use UUID but if we hit 9,007,199,254,740,991 unique components over
// the lifetime of the app before it gets reloaded, I mean ... come on.
// I don't even know what xillion that is.
// /me googles
// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.
let id = 0;
const genId = () => ++id;
const Context = createContext(genId);
export const AutoIdProvider = ({ children }) => {
const ref = useRef(0);
// could use UUID but if we hit 9,007,199,254,740,991 unique components over
// the lifetime of the app before it gets reloaded, I mean ... come on.
// I don't even know what xillion that is.
// /me googles
// Oh duh, quadrillion. Nine quadrillion components. I think we're okay.
const genId = useCallback(() => ++ref.current, []);
return <Context.Provider value={genId} children={children} />;
};
export const useId = () => {
const genId = useContext(Context);
const ref = useRef(genId());
return ref.current;
const [id, setId] = useState(null);
useEffect(() => setId(genId()), []);
return id;
};
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