1.0.0-beta.30 • Published 8 months ago

@allmaps/id v1.0.0-beta.30

Weekly downloads
-
License
ISC
Repository
github
Last release
8 months ago

@allmaps/id

Uses the SHA-1 algorithm to generate IDs from strings, random IDs from UUIDs and checksums from JSON objects.

Allmaps uses this module to create IDs from IIIF URIs. For example:

To see @allmaps/id in action, view this Observable notebook.

Usage

This is an ESM-only module that works in browsers and Node.js.

Node.js:

The Node.js version of @allmaps/id usescrypto.createHash() and crypto.randomUUID() from the crypto module. First, run npm install @allmaps/id.

import { generateId } from '@allmaps/id'
const url = 'https://digital.zlb.de/viewer/api/v1/records/34231682/manifest/'
const id = await generateId(url)
// id = '6f5a7b547c8f6fbe'

Browser:

The browser version of @allmaps/id uses the SubtleCrypto.digest() and Crypto.randomUUID() Web APIs.

<script type="module">
  import { generateId } from 'https://esm.run/@allmaps/id'

  const url =
    'https://orka.bibliothek.uni-kassel.de/viewer/rest/iiif/manifests/1535113582549/manifest/'
  const id = await generateId(url)
  console.log(id)
</script>

CLI

Generating Allmaps IDs is also possible using the Allmaps CLI.

For example:

echo https://digital.zlb.de/viewer/api/v1/records/34231682/manifest/ | allmaps id

API

Table of Contents

generateHash

Computes SHA-1 hash of input string.

Parameters

Returns string SHA-1 hash of str.

generateId

Generates an ID from a string using the SHA-1 algorithm. Given the same input, the ID will always be the same.

Parameters

  • str string Input string.
  • length number? Length of returned hash. The maximum length of the hash is 40 characters. The default length is 16. (optional, default 16)

Returns Promise[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) First length characters of the SHA-1 hash of str.

generateRandomId

Generates a random ID.

Parameters

  • length number? Length of returned hash. The maximum length of the hash is 40 characters.

Returns Promise[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) First length characters of the SHA-1 hash of a random UUID.

generateChecksum

Generates a checksum of a JSON object.

Parameters

  • obj Object JSON object.
  • length number? Length of returned hash. The maximum length of the hash is 40 characters.

Returns Promise[string](https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/String) First length characters of the SHA-1 hash of sorted and serialized version of obj.

1.0.0-beta.30

8 months ago

1.0.0-beta.28

11 months ago

1.0.0-beta.29

11 months ago

1.0.0-beta.27

1 year ago

1.0.0-beta.26

1 year ago

1.0.0-beta.23

1 year ago

1.0.0-beta.22

1 year ago

1.0.0-beta.21

2 years ago

1.0.0-beta.20

2 years ago

1.0.0-beta.19

2 years ago

1.0.0-beta.17

2 years ago

1.0.0-beta.18

2 years ago

1.0.0-beta.16

2 years ago

1.0.0-beta.15

2 years ago

1.0.0-beta.12

2 years ago

1.0.0-beta.13

2 years ago

1.0.0-beta.14

2 years ago

1.0.0-beta.11

3 years ago

1.0.0-beta.10

3 years ago

1.0.0-beta.9

3 years ago

1.0.0-beta.4

3 years ago

1.0.0-beta.5

3 years ago

1.0.0-beta.7

3 years ago

1.0.0-beta.2

3 years ago

1.0.0-beta.0

3 years ago

1.0.0-beta.1

3 years ago

1.0.0-alpha.13

4 years ago

1.0.0-alpha.9

4 years ago

1.0.0-alpha.10

4 years ago

1.0.0-alpha.12

4 years ago

1.0.0-alpha.11

4 years ago

1.0.0-alpha.8

4 years ago

1.0.0-alpha.7

4 years ago

1.0.0-alpha.6

4 years ago

1.0.0-alpha.5

4 years ago

1.0.0-alpha.4

4 years ago

1.0.0-alpha.3

4 years ago

1.0.0-alpha.2

4 years ago

1.0.0-alpha.1

4 years ago

2.0.1

4 years ago