New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

deepest-lore

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deepest-lore

Tools for creating and managing your deepest lore.

latest
Source
npmnpm
Version
2.0.0-3
Version published
Maintainers
1
Created
Source

deepest-lore Travis License FOSSA Status Renovate enabled npm npm type definitions

Tools for creating and managing your deepest lore.

Data model

deepest-lore uses a mini-"relational database", wherein information is organized into tables of rows and columns.

Entity

An entity represents a "thing", with a unique, invariant identifier.

For instance, you might have an entity per recipe, or per ingredient.

Mapping

A mapping specifies information for a unique combination of entities.

For instance, you might map ingredients to recipes.

Identifier

An identifier is a string 6 characters in length using the character set _abcdefghijklmnopqrstuvwxyz0123456789.

These would usually not be shown to the end-user, but instead be used to keep consistent references between versions. As such, they should be invariant (never change).

Binary representation

Identifiers can be stored as an unsigned 32-bit integer.

The range 0-4095999999 is reserved for current and future characters, but the range 4096000000-4294967295 will never be generated from a six-character string, and can safely be used for "special" values.

Examples
Six-character string32-bit integer
______0
zzzzzz3780923076
for_eg1704192617

Localizations

Schema documents define a set of localizations, which have identifiers.

Any information which is localized is then specified once per localization, keyed by its identifier.

Disk import

All files are expected to be UTF-8 encoded.

{base directory}/schema.json

The schema, as defined in @deepest-lore/data-model.

{base directory}/entities/{entity type identifier}.csv

Each row defines a single entity instance while the first row defines the columns. The following patterns are supported:

PatternMeaning
$The column defines the entity instance's unique identifier.
col_idThe column defines the value of unlocalized entity type column col_id.
col_id:loc_idThe column defines the value of localized entity type column col_id for localization loc_id.

Example

$,name__:en_gb_,name__:fr_fr_,catgry,weapon,food__,salqty,weight
grpfrt,Grapefruit,Pamplemousse,fruit_,❌,✔️,1,5
lemon_,Lemon,Citron,fruit_,TRUE,Yes,4,2
pebble,Pebble,Caillou,rock__,FALSE,No,50,1
$name__:en_gb_name__:fr_fr_catgryweaponfood__salqtyweight
grpfrtGrapefruitPamplemoussefruit_✔️15
lemon_LemonCitronfruit_TRUEYes42
pebblePebbleCaillourock__FALSENo501

{base directory}/mappings/{mapping identifier}.csv

Similarly to entity type files, each row defines a single mapping while the first row defines the columns. The following patterns are supported:

PatternMeaning
$key_idThe column defines the mapping key key_id.
col_idThe column defines the value of unlocalized entity type column col_id.
col_id:loc_idThe column defines the value of localized entity type column col_id for localization loc_id.

Example

$item__,$vendor,price_
lemon_,grngcr,0.8
pebble,grngcr,0.5
grpfrt,grngcr,2.4
pebble,rocrus,0.4
$item__$vendorprice_
lemon_grngcr0.8
pebblegrngcr0.5
grpfrtgrngcr2.4
pebblerocrus0.4

HTML export

/index.html

Shows the schema document's description and a list of all entity types.

/entity-types/{entity type identifier}/index.html

Shows the entity type's description and a list of all its instances.

/entity-types/{entity type identifier}/instances/{entity instance identifier}

Shows the entity instance's column values and a list of all entity and mapping instances which reference it.

Validation

Errors raised on failure

  • The schema document matches the JSON schema.
  • All entity reference columns reference an existing entity type.
  • All entity reference column defaults refer to an existing instance of their referenced entity type.
  • All entity reference column values refer to an existing instance of their referenced entity type.
  • All mapping keys reference existing entity types in schema.
  • All mapping keys reference existing entity instances of their referenced entity type in data.
  • All entity type labels are resolvable; each run is a chain of existing entity reference columns, excepting the last, which is any existing column on the final entity.
  • All localized values include every localization defined at the root of the schema document.
  • All integer column maximum values are at least their minimum values.
  • All integer column default values fall between (inclusively) their minimum and maximum values.
  • All integer column values fall between (inclusively) their minimum and maximum values.
  • All float column maximum values are at least their minimum values.
  • All float column default values fall between (inclusively) their minimum and maximum values.
  • All float column values fall between (inclusively) their minimum and maximum values.
  • All string column default values fit within their maximum length.
  • All string column values fit within their maximum length.

Warnings raised on failure.

  • Localized values include no localizations not defined at the root of the schema document.
  • No unexpected columns are found within entity type or mapping data.
  • All entity types have at least one instance.
  • All mappings have at least one instance.

Command-line interface

Warnings will be printed but do not count as an error by default.

Example: deepest-lore {parameters}.

Parameters

--fs-import {path}

The base directory from which to import; runs once then stops. Exits on error and returns a non-zero exit code.

Uses @deepest-lore/fs-import.

--fs-import-watch {path}

The base directory from which to import; runs once then waits for changes before running again until terminated by the user. Aborts run but does not exit on error.

Uses @deepest-lore/fs-import-watch.

--warnings-as-errors

When present, any warnings generated by @deepest-lore/validator will instead be treated as errors. The standard error handling logic will then apply.

--html-export {path}

The base directory to which to export; this will be deleted and replaced with a new directory containing the exported HTML.

Watch builds will not be minified.

Uses @deepest-lore/html-export.

License

FOSSA Status

FAQs

Package last updated on 09 Jun 2019

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