{
	"author": {
		"name": "Rick Osborne",
		"url": "https://rickosborne.org"
	},
	"dependencies": {
		"@rickosborne/guard": "2026.2.16",
		"@rickosborne/typical": "2026.2.16"
	},
	"description": "Rick Osborne's collection of basic data structures and algorithms.",
	"engines": {
		"node": ">=14"
	},
	"exports": {
		".": {
			"types": "./index.d.ts",
			"import": "./index.mjs",
			"require": "./index.cjs",
			"default": "./index.mjs"
		},
		"./*.js": {
			"types": "./*.d.ts",
			"import": "./*.mjs",
			"require": "./*.cjs",
			"default": "./*.mjs"
		},
		"./add-property": {
			"types": "./add-property.d.ts",
			"import": "./add-property.mjs",
			"require": "./add-property.cjs",
			"default": "./add-property.mjs"
		},
		"./array-eq": {
			"types": "./array-eq.d.ts",
			"import": "./array-eq.mjs",
			"require": "./array-eq.cjs",
			"default": "./array-eq.mjs"
		},
		"./array-from-async": {
			"types": "./array-from-async.d.ts",
			"import": "./array-from-async.mjs",
			"require": "./array-from-async.cjs",
			"default": "./array-from-async.mjs"
		},
		"./array-unique": {
			"types": "./array-unique.d.ts",
			"import": "./array-unique.mjs",
			"require": "./array-unique.cjs",
			"default": "./array-unique.mjs"
		},
		"./as-fraction": {
			"types": "./as-fraction.d.ts",
			"import": "./as-fraction.mjs",
			"require": "./as-fraction.cjs",
			"default": "./as-fraction.mjs"
		},
		"./better-map": {
			"types": "./better-map.d.ts",
			"import": "./better-map.mjs",
			"require": "./better-map.cjs",
			"default": "./better-map.mjs"
		},
		"./better-map-like": {
			"types": "./better-map-like.d.ts",
			"import": "./better-map-like.mjs",
			"require": "./better-map-like.cjs",
			"default": "./better-map-like.mjs"
		},
		"./binary-heap": {
			"types": "./binary-heap.d.ts",
			"import": "./binary-heap.mjs",
			"require": "./binary-heap.cjs",
			"default": "./binary-heap.mjs"
		},
		"./binary-index-of": {
			"types": "./binary-index-of.d.ts",
			"import": "./binary-index-of.mjs",
			"require": "./binary-index-of.cjs",
			"default": "./binary-index-of.mjs"
		},
		"./catch-and": {
			"types": "./catch-and.d.ts",
			"import": "./catch-and.mjs",
			"require": "./catch-and.cjs",
			"default": "./catch-and.mjs"
		},
		"./close-to": {
			"types": "./close-to.d.ts",
			"import": "./close-to.mjs",
			"require": "./close-to.cjs",
			"default": "./close-to.mjs"
		},
		"./comparator": {
			"types": "./comparator.d.ts",
			"import": "./comparator.mjs",
			"require": "./comparator.cjs",
			"default": "./comparator.mjs"
		},
		"./compute-if-absent": {
			"types": "./compute-if-absent.d.ts",
			"import": "./compute-if-absent.mjs",
			"require": "./compute-if-absent.cjs",
			"default": "./compute-if-absent.mjs"
		},
		"./concat-reg-exp": {
			"types": "./concat-reg-exp.d.ts",
			"import": "./concat-reg-exp.mjs",
			"require": "./concat-reg-exp.cjs",
			"default": "./concat-reg-exp.mjs"
		},
		"./deep-copy": {
			"types": "./deep-copy.d.ts",
			"import": "./deep-copy.mjs",
			"require": "./deep-copy.cjs",
			"default": "./deep-copy.mjs"
		},
		"./deep-equals": {
			"types": "./deep-equals.d.ts",
			"import": "./deep-equals.mjs",
			"require": "./deep-equals.cjs",
			"default": "./deep-equals.mjs"
		},
		"./deep-merge": {
			"types": "./deep-merge.d.ts",
			"import": "./deep-merge.mjs",
			"require": "./deep-merge.cjs",
			"default": "./deep-merge.mjs"
		},
		"./deep-sort": {
			"types": "./deep-sort.d.ts",
			"import": "./deep-sort.mjs",
			"require": "./deep-sort.cjs",
			"default": "./deep-sort.mjs"
		},
		"./duration": {
			"types": "./duration.d.ts",
			"import": "./duration.mjs",
			"require": "./duration.cjs",
			"default": "./duration.mjs"
		},
		"./ecma-key-sort": {
			"types": "./ecma-key-sort.d.ts",
			"import": "./ecma-key-sort.mjs",
			"require": "./ecma-key-sort.cjs",
			"default": "./ecma-key-sort.mjs"
		},
		"./entries-of": {
			"types": "./entries-of.d.ts",
			"import": "./entries-of.mjs",
			"require": "./entries-of.cjs",
			"default": "./entries-of.mjs"
		},
		"./format-bytes": {
			"types": "./format-bytes.d.ts",
			"import": "./format-bytes.mjs",
			"require": "./format-bytes.cjs",
			"default": "./format-bytes.mjs"
		},
		"./format-markdown": {
			"types": "./format-markdown.d.ts",
			"import": "./format-markdown.mjs",
			"require": "./format-markdown.cjs",
			"default": "./format-markdown.mjs"
		},
		"./glob": {
			"types": "./glob.d.ts",
			"import": "./glob.mjs",
			"require": "./glob.cjs",
			"default": "./glob.mjs"
		},
		"./holder": {
			"types": "./holder.d.ts",
			"import": "./holder.mjs",
			"require": "./holder.cjs",
			"default": "./holder.mjs"
		},
		"./imprecise": {
			"types": "./imprecise.d.ts",
			"import": "./imprecise.mjs",
			"require": "./imprecise.cjs",
			"default": "./imprecise.mjs"
		},
		"./int-range": {
			"types": "./int-range.d.ts",
			"import": "./int-range.mjs",
			"require": "./int-range.cjs",
			"default": "./int-range.mjs"
		},
		"./iterator": {
			"types": "./iterator.d.ts",
			"import": "./iterator.mjs",
			"require": "./iterator.cjs",
			"default": "./iterator.mjs"
		},
		"./iterator-transformer": {
			"types": "./iterator-transformer.d.ts",
			"import": "./iterator-transformer.mjs",
			"require": "./iterator-transformer.cjs",
			"default": "./iterator-transformer.mjs"
		},
		"./json-parse-events-of": {
			"types": "./json-parse-events-of.d.ts",
			"import": "./json-parse-events-of.mjs",
			"require": "./json-parse-events-of.cjs",
			"default": "./json-parse-events-of.mjs"
		},
		"./json-parse-type": {
			"types": "./json-parse-type.d.ts",
			"import": "./json-parse-type.mjs",
			"require": "./json-parse-type.cjs",
			"default": "./json-parse-type.mjs"
		},
		"./json-path-append": {
			"types": "./json-path-append.d.ts",
			"import": "./json-path-append.mjs",
			"require": "./json-path-append.cjs",
			"default": "./json-path-append.mjs"
		},
		"./json-token": {
			"types": "./json-token.d.ts",
			"import": "./json-token.mjs",
			"require": "./json-token.cjs",
			"default": "./json-token.mjs"
		},
		"./json-tokens-of": {
			"types": "./json-tokens-of.d.ts",
			"import": "./json-tokens-of.mjs",
			"require": "./json-tokens-of.cjs",
			"default": "./json-tokens-of.mjs"
		},
		"./linked-list": {
			"types": "./linked-list.d.ts",
			"import": "./linked-list.mjs",
			"require": "./linked-list.cjs",
			"default": "./linked-list.mjs"
		},
		"./logger": {
			"types": "./logger.d.ts",
			"import": "./logger.mjs",
			"require": "./logger.cjs",
			"default": "./logger.mjs"
		},
		"./lower-first": {
			"types": "./lower-first.d.ts",
			"import": "./lower-first.mjs",
			"require": "./lower-first.cjs",
			"default": "./lower-first.mjs"
		},
		"./memoize": {
			"types": "./memoize.d.ts",
			"import": "./memoize.mjs",
			"require": "./memoize.cjs",
			"default": "./memoize.mjs"
		},
		"./min-max": {
			"types": "./min-max.d.ts",
			"import": "./min-max.mjs",
			"require": "./min-max.cjs",
			"default": "./min-max.mjs"
		},
		"./modulo": {
			"types": "./modulo.d.ts",
			"import": "./modulo.mjs",
			"require": "./modulo.cjs",
			"default": "./modulo.mjs"
		},
		"./multi-async-iterator": {
			"types": "./multi-async-iterator.d.ts",
			"import": "./multi-async-iterator.mjs",
			"require": "./multi-async-iterator.cjs",
			"default": "./multi-async-iterator.mjs"
		},
		"./optional-reg-exp": {
			"types": "./optional-reg-exp.d.ts",
			"import": "./optional-reg-exp.mjs",
			"require": "./optional-reg-exp.cjs",
			"default": "./optional-reg-exp.mjs"
		},
		"./parse-local-date": {
			"types": "./parse-local-date.d.ts",
			"import": "./parse-local-date.mjs",
			"require": "./parse-local-date.cjs",
			"default": "./parse-local-date.mjs"
		},
		"./priority-array": {
			"types": "./priority-array.d.ts",
			"import": "./priority-array.mjs",
			"require": "./priority-array.cjs",
			"default": "./priority-array.mjs"
		},
		"./priority-linked-list": {
			"types": "./priority-linked-list.d.ts",
			"import": "./priority-linked-list.mjs",
			"require": "./priority-linked-list.cjs",
			"default": "./priority-linked-list.mjs"
		},
		"./priority-queue": {
			"types": "./priority-queue.d.ts",
			"import": "./priority-queue.mjs",
			"require": "./priority-queue.cjs",
			"default": "./priority-queue.mjs"
		},
		"./queue": {
			"types": "./queue.d.ts",
			"import": "./queue.mjs",
			"require": "./queue.cjs",
			"default": "./queue.mjs"
		},
		"./rand": {
			"types": "./rand.d.ts",
			"import": "./rand.mjs",
			"require": "./rand.cjs",
			"default": "./rand.mjs"
		},
		"./re-quote": {
			"types": "./re-quote.d.ts",
			"import": "./re-quote.mjs",
			"require": "./re-quote.cjs",
			"default": "./re-quote.mjs"
		},
		"./resolvable": {
			"types": "./resolvable.d.ts",
			"import": "./resolvable.mjs",
			"require": "./resolvable.cjs",
			"default": "./resolvable.mjs"
		},
		"./round-to": {
			"types": "./round-to.d.ts",
			"import": "./round-to.mjs",
			"require": "./round-to.cjs",
			"default": "./round-to.mjs"
		},
		"./shuffle": {
			"types": "./shuffle.d.ts",
			"import": "./shuffle.mjs",
			"require": "./shuffle.cjs",
			"default": "./shuffle.mjs"
		},
		"./sigil": {
			"types": "./sigil.d.ts",
			"import": "./sigil.mjs",
			"require": "./sigil.cjs",
			"default": "./sigil.mjs"
		},
		"./single-characters-of": {
			"types": "./single-characters-of.d.ts",
			"import": "./single-characters-of.mjs",
			"require": "./single-characters-of.cjs",
			"default": "./single-characters-of.mjs"
		},
		"./skip-list": {
			"types": "./skip-list.d.ts",
			"import": "./skip-list.mjs",
			"require": "./skip-list.cjs",
			"default": "./skip-list.mjs"
		},
		"./sleep": {
			"types": "./sleep.d.ts",
			"import": "./sleep.mjs",
			"require": "./sleep.cjs",
			"default": "./sleep.mjs"
		},
		"./split-fixed": {
			"types": "./split-fixed.d.ts",
			"import": "./split-fixed.mjs",
			"require": "./split-fixed.cjs",
			"default": "./split-fixed.mjs"
		},
		"./string-tokenizer": {
			"types": "./string-tokenizer.d.ts",
			"import": "./string-tokenizer.mjs",
			"require": "./string-tokenizer.cjs",
			"default": "./string-tokenizer.mjs"
		},
		"./svg-path-of": {
			"types": "./svg-path-of.d.ts",
			"import": "./svg-path-of.mjs",
			"require": "./svg-path-of.cjs",
			"default": "./svg-path-of.mjs"
		},
		"./svg-path-tokens": {
			"types": "./svg-path-tokens.d.ts",
			"import": "./svg-path-tokens.mjs",
			"require": "./svg-path-tokens.cjs",
			"default": "./svg-path-tokens.mjs"
		},
		"./to-batches": {
			"types": "./to-batches.d.ts",
			"import": "./to-batches.mjs",
			"require": "./to-batches.cjs",
			"default": "./to-batches.mjs"
		},
		"./token-generator": {
			"types": "./token-generator.d.ts",
			"import": "./token-generator.mjs",
			"require": "./token-generator.cjs",
			"default": "./token-generator.mjs"
		},
		"./tuple-map": {
			"types": "./tuple-map.d.ts",
			"import": "./tuple-map.mjs",
			"require": "./tuple-map.cjs",
			"default": "./tuple-map.mjs"
		},
		"./unknown-error": {
			"types": "./unknown-error.d.ts",
			"import": "./unknown-error.mjs",
			"require": "./unknown-error.cjs",
			"default": "./unknown-error.mjs"
		},
		"./window": {
			"types": "./window.d.ts",
			"import": "./window.mjs",
			"require": "./window.cjs",
			"default": "./window.mjs"
		},
		"./with-lazy-property": {
			"types": "./with-lazy-property.d.ts",
			"import": "./with-lazy-property.mjs",
			"require": "./with-lazy-property.cjs",
			"default": "./with-lazy-property.mjs"
		},
		"./with-timeout": {
			"types": "./with-timeout.d.ts",
			"import": "./with-timeout.mjs",
			"require": "./with-timeout.cjs",
			"default": "./with-timeout.mjs"
		},
		"./zero-pad": {
			"types": "./zero-pad.d.ts",
			"import": "./zero-pad.mjs",
			"require": "./zero-pad.cjs",
			"default": "./zero-pad.mjs"
		}
	},
	"git": {
		"authorName": "Rick Osborne",
		"commitDateISO": "2026-02-16T18:13:37.000Z",
		"commitHash": "72d2d07aba028ad4c475190c056b5e631242c7bb",
		"commitLink": "https://github.com/rickosborne/es-js-ts/commits/72d2d07aba028ad4c475190c056b5e631242c7bb",
		"parentHash": "38d31a198cf30896f6c95ff44871cc91cf94f5a0",
		"signingKeyId": "8e61c433fe39d4a4679ce1d5b873fb3c48464f3c"
	},
	"homepage": "https://github.com/rickosborne/es-js-ts",
	"keywords": [
		"typescript",
		"algorithms",
		"data structures"
	],
	"license": "CC-BY-NC-SA-4.0",
	"main": "./index.cjs",
	"module": "./index.mjs",
	"name": "@rickosborne/foundation",
	"private": false,
	"publishConfig": {
		"access": "public"
	},
	"readme": "README.md",
	"repository": {
		"directory": "src/packages/foundation",
		"type": "git",
		"url": "git+https://github.com/rickosborne/es-js-ts.git"
	},
	"types": "./index.d.ts",
	"typings": "./index.d.ts",
	"version": "2026.2.16"
}
