shelving 1.236.0 → 1.236.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/cache/APICache.d.ts +69 -6
- package/api/cache/APICache.js +61 -5
- package/api/cache/EndpointCache.d.ts +75 -7
- package/api/cache/EndpointCache.js +75 -7
- package/api/endpoint/Endpoint.d.ts +141 -25
- package/api/endpoint/Endpoint.js +55 -9
- package/api/endpoint/util.d.ts +28 -6
- package/api/provider/APIProvider.d.ts +58 -14
- package/api/provider/APIProvider.js +24 -2
- package/api/provider/CachedAPIProvider.d.ts +58 -5
- package/api/provider/CachedAPIProvider.js +58 -6
- package/api/provider/ClientAPIProvider.d.ts +80 -4
- package/api/provider/ClientAPIProvider.js +75 -4
- package/api/provider/DebugAPIProvider.d.ts +40 -1
- package/api/provider/DebugAPIProvider.js +40 -1
- package/api/provider/JSONAPIProvider.d.ts +18 -2
- package/api/provider/JSONAPIProvider.js +18 -2
- package/api/provider/LoggingAPIProvider.d.ts +25 -2
- package/api/provider/LoggingAPIProvider.js +25 -2
- package/api/provider/MockAPIProvider.d.ts +72 -1
- package/api/provider/MockAPIProvider.js +60 -4
- package/api/provider/MockEndpointAPIProvider.d.ts +9 -0
- package/api/provider/MockEndpointAPIProvider.js +9 -0
- package/api/provider/ThroughAPIProvider.d.ts +67 -1
- package/api/provider/ThroughAPIProvider.js +67 -1
- package/api/provider/ValidationAPIProvider.d.ts +32 -1
- package/api/provider/ValidationAPIProvider.js +32 -1
- package/api/provider/XMLAPIProvider.d.ts +18 -2
- package/api/provider/XMLAPIProvider.js +18 -2
- package/api/store/EndpointStore.d.ts +24 -1
- package/api/store/EndpointStore.js +24 -1
- package/bun/BunPostgreSQLProvider.d.ts +38 -0
- package/bun/BunPostgreSQLProvider.js +38 -2
- package/cloudflare/CloudflareD1Provider.d.ts +29 -2
- package/cloudflare/CloudflareD1Provider.js +29 -2
- package/cloudflare/CloudflareKVProvider.d.ts +115 -0
- package/cloudflare/CloudflareKVProvider.js +115 -0
- package/cloudflare/types.d.ts +41 -7
- package/db/cache/CollectionCache.d.ts +83 -7
- package/db/cache/CollectionCache.js +83 -7
- package/db/cache/DBCache.d.ts +93 -8
- package/db/cache/DBCache.js +85 -7
- package/db/collection/Collection.d.ts +103 -15
- package/db/collection/Collection.js +58 -6
- package/db/migrate/DBMigrator.d.ts +29 -1
- package/db/migrate/DBMigrator.js +20 -1
- package/db/migrate/PostgreSQLMigrator.d.ts +8 -1
- package/db/migrate/PostgreSQLMigrator.js +8 -1
- package/db/migrate/SQLMigrator.d.ts +63 -4
- package/db/migrate/SQLMigrator.js +51 -1
- package/db/migrate/SQLiteMigrator.d.ts +8 -1
- package/db/migrate/SQLiteMigrator.js +8 -1
- package/db/provider/CacheDBProvider.d.ts +135 -1
- package/db/provider/CacheDBProvider.js +135 -1
- package/db/provider/ChangesDBProvider.d.ts +84 -3
- package/db/provider/ChangesDBProvider.js +77 -2
- package/db/provider/DBProvider.d.ts +148 -1
- package/db/provider/DBProvider.js +51 -1
- package/db/provider/DebugDBProvider.d.ts +118 -1
- package/db/provider/DebugDBProvider.js +118 -1
- package/db/provider/MemoryDBProvider.d.ts +262 -7
- package/db/provider/MemoryDBProvider.js +262 -7
- package/db/provider/MockDBProvider.d.ts +113 -2
- package/db/provider/MockDBProvider.js +106 -1
- package/db/provider/PostgreSQLProvider.d.ts +34 -2
- package/db/provider/PostgreSQLProvider.js +34 -4
- package/db/provider/SQLProvider.d.ts +250 -14
- package/db/provider/SQLProvider.js +237 -13
- package/db/provider/SQLiteProvider.d.ts +41 -1
- package/db/provider/SQLiteProvider.js +41 -4
- package/db/provider/ThroughDBProvider.d.ts +156 -1
- package/db/provider/ThroughDBProvider.js +156 -1
- package/db/provider/ValidationDBProvider.d.ts +120 -1
- package/db/provider/ValidationDBProvider.js +120 -1
- package/db/store/ItemStore.d.ts +38 -2
- package/db/store/ItemStore.js +38 -2
- package/db/store/QueryStore.d.ts +64 -6
- package/db/store/QueryStore.js +64 -6
- package/error/BaseError.d.ts +27 -2
- package/error/BaseError.js +14 -0
- package/error/Errors.d.ts +12 -1
- package/error/Errors.js +12 -1
- package/error/NetworkError.d.ts +13 -1
- package/error/NetworkError.js +13 -1
- package/error/RequestError.d.ts +90 -7
- package/error/RequestError.js +90 -7
- package/error/RequiredError.d.ts +11 -1
- package/error/RequiredError.js +11 -1
- package/error/ResponseError.d.ts +19 -2
- package/error/ResponseError.js +19 -2
- package/error/UnexpectedError.d.ts +14 -1
- package/error/UnexpectedError.js +14 -1
- package/error/UnimplementedError.d.ts +13 -1
- package/error/UnimplementedError.js +13 -1
- package/error/ValueError.d.ts +14 -1
- package/error/ValueError.js +14 -1
- package/extract/DirectoryExtractor.d.ts +35 -1
- package/extract/DirectoryExtractor.js +30 -0
- package/extract/Extractor.d.ts +21 -2
- package/extract/Extractor.js +7 -1
- package/extract/FileExtractor.d.ts +18 -0
- package/extract/FileExtractor.js +18 -0
- package/extract/IndexExtractor.d.ts +36 -1
- package/extract/IndexExtractor.js +31 -0
- package/extract/MarkupExtractor.d.ts +15 -0
- package/extract/MarkupExtractor.js +15 -0
- package/extract/MergingExtractor.d.ts +36 -1
- package/extract/MergingExtractor.js +31 -0
- package/extract/ModuleExtractor.d.ts +25 -1
- package/extract/ModuleExtractor.js +20 -0
- package/extract/PackageExtractor.d.ts +36 -1
- package/extract/PackageExtractor.js +31 -0
- package/extract/ThroughExtractor.d.ts +22 -1
- package/extract/ThroughExtractor.js +22 -1
- package/extract/TypescriptExtractor.d.ts +21 -0
- package/extract/TypescriptExtractor.js +28 -3
- package/firestore/client/FirestoreClientProvider.d.ts +129 -4
- package/firestore/client/FirestoreClientProvider.js +129 -4
- package/firestore/lite/FirestoreLiteProvider.d.ts +128 -3
- package/firestore/lite/FirestoreLiteProvider.js +128 -3
- package/firestore/server/FirestoreServerProvider.d.ts +129 -2
- package/firestore/server/FirestoreServerProvider.js +129 -2
- package/markup/MarkupParser.d.ts +57 -10
- package/markup/MarkupParser.js +50 -9
- package/markup/MarkupRule.d.ts +34 -1
- package/markup/Parser.d.ts +18 -0
- package/markup/Parser.js +11 -0
- package/markup/rule/blockquote.d.ts +3 -0
- package/markup/rule/blockquote.js +3 -0
- package/markup/rule/code.d.ts +3 -0
- package/markup/rule/code.js +3 -0
- package/markup/rule/fenced.d.ts +3 -0
- package/markup/rule/fenced.js +3 -0
- package/markup/rule/heading.d.ts +3 -0
- package/markup/rule/heading.js +3 -0
- package/markup/rule/index.d.ts +16 -3
- package/markup/rule/index.js +16 -3
- package/markup/rule/inline.d.ts +4 -1
- package/markup/rule/inline.js +5 -2
- package/markup/rule/linebreak.d.ts +3 -0
- package/markup/rule/linebreak.js +3 -0
- package/markup/rule/link.d.ts +6 -0
- package/markup/rule/link.js +6 -0
- package/markup/rule/ordered.d.ts +3 -0
- package/markup/rule/ordered.js +3 -0
- package/markup/rule/paragraph.d.ts +3 -0
- package/markup/rule/paragraph.js +3 -0
- package/markup/rule/separator.d.ts +3 -0
- package/markup/rule/separator.js +3 -0
- package/markup/rule/table.d.ts +3 -0
- package/markup/rule/table.js +3 -0
- package/markup/rule/unordered.d.ts +3 -0
- package/markup/rule/unordered.js +3 -0
- package/markup/util/regexp.d.ts +80 -3
- package/markup/util/regexp.js +44 -0
- package/package.json +1 -1
- package/react/createAPIContext.d.ts +15 -0
- package/react/createAPIContext.js +10 -0
- package/react/createDBContext.d.ts +15 -0
- package/react/createDBContext.js +10 -0
- package/react/useInstance.d.ts +11 -0
- package/react/useInstance.js +11 -0
- package/react/useLazy.d.ts +11 -0
- package/react/useMap.d.ts +14 -1
- package/react/useMap.js +14 -1
- package/react/useReduce.d.ts +12 -0
- package/react/useSequence.d.ts +10 -0
- package/react/useSequence.js +10 -0
- package/react/useStore.d.ts +16 -1
- package/schema/AddressSchema.d.ts +41 -4
- package/schema/AddressSchema.js +36 -3
- package/schema/ArraySchema.d.ts +48 -6
- package/schema/ArraySchema.js +40 -5
- package/schema/BooleanSchema.d.ts +59 -3
- package/schema/BooleanSchema.js +51 -2
- package/schema/ChoiceSchema.d.ts +61 -7
- package/schema/ChoiceSchema.js +44 -2
- package/schema/ColorSchema.d.ts +41 -8
- package/schema/ColorSchema.js +36 -7
- package/schema/CountrySchema.d.ts +44 -4
- package/schema/CountrySchema.js +39 -3
- package/schema/CurrencyAmountSchema.d.ts +104 -8
- package/schema/CurrencyAmountSchema.js +91 -4
- package/schema/CurrencyCodeSchema.d.ts +56 -4
- package/schema/CurrencyCodeSchema.js +49 -3
- package/schema/DataSchema.d.ts +101 -10
- package/schema/DataSchema.js +87 -8
- package/schema/DateSchema.d.ts +73 -4
- package/schema/DateSchema.js +57 -2
- package/schema/DateTimeSchema.d.ts +40 -3
- package/schema/DateTimeSchema.js +40 -3
- package/schema/DictionarySchema.d.ts +54 -4
- package/schema/DictionarySchema.js +47 -3
- package/schema/EmailSchema.d.ts +34 -3
- package/schema/EmailSchema.js +34 -3
- package/schema/EntitySchema.d.ts +45 -4
- package/schema/EntitySchema.js +38 -3
- package/schema/FileSchema.d.ts +45 -4
- package/schema/FileSchema.js +39 -3
- package/schema/KeySchema.d.ts +32 -3
- package/schema/KeySchema.js +32 -3
- package/schema/NullableSchema.d.ts +64 -4
- package/schema/NullableSchema.js +59 -3
- package/schema/NumberSchema.d.ts +137 -12
- package/schema/NumberSchema.js +127 -11
- package/schema/OptionalSchema.d.ts +61 -4
- package/schema/OptionalSchema.js +56 -4
- package/schema/PasswordSchema.d.ts +37 -1
- package/schema/PasswordSchema.js +32 -1
- package/schema/PhoneSchema.d.ts +40 -4
- package/schema/PhoneSchema.js +35 -3
- package/schema/RequiredSchema.d.ts +39 -3
- package/schema/RequiredSchema.js +41 -3
- package/schema/Schema.d.ts +67 -7
- package/schema/Schema.js +42 -6
- package/schema/SlugSchema.d.ts +37 -5
- package/schema/SlugSchema.js +37 -5
- package/schema/StringSchema.d.ts +124 -19
- package/schema/StringSchema.js +107 -17
- package/schema/ThroughSchema.d.ts +35 -2
- package/schema/ThroughSchema.js +30 -1
- package/schema/TimeSchema.d.ts +43 -3
- package/schema/TimeSchema.js +43 -3
- package/schema/URISchema.d.ts +67 -6
- package/schema/URISchema.js +60 -6
- package/schema/URLSchema.d.ts +69 -6
- package/schema/URLSchema.js +61 -6
- package/schema/UUIDSchema.d.ts +37 -4
- package/schema/UUIDSchema.js +37 -4
- package/sequence/DeferredSequence.d.ts +49 -3
- package/sequence/DeferredSequence.js +39 -3
- package/sequence/InspectSequence.d.ts +59 -5
- package/sequence/InspectSequence.js +59 -5
- package/sequence/LazySequence.d.ts +30 -2
- package/sequence/LazySequence.js +30 -2
- package/sequence/Sequence.d.ts +11 -0
- package/sequence/Sequence.js +10 -0
- package/sequence/ThroughSequence.d.ts +15 -0
- package/sequence/ThroughSequence.js +15 -0
- package/store/ArrayStore.d.ts +74 -11
- package/store/ArrayStore.js +74 -11
- package/store/BooleanStore.d.ts +19 -2
- package/store/BooleanStore.js +19 -2
- package/store/BusyStore.d.ts +13 -1
- package/store/BusyStore.js +13 -1
- package/store/DataStore.d.ts +118 -15
- package/store/DataStore.js +118 -15
- package/store/DictionaryStore.d.ts +66 -8
- package/store/DictionaryStore.js +66 -8
- package/store/FetchStore.d.ts +43 -6
- package/store/FetchStore.js +36 -5
- package/store/PathStore.d.ts +44 -5
- package/store/PathStore.js +44 -5
- package/store/PayloadFetchStore.d.ts +16 -1
- package/store/PayloadFetchStore.js +9 -1
- package/store/Store.d.ts +85 -16
- package/store/Store.js +52 -10
- package/store/URLStore.d.ts +173 -15
- package/store/URLStore.js +173 -15
- package/test/basics.d.ts +70 -0
- package/test/basics.js +60 -0
- package/test/people.d.ts +45 -0
- package/test/people.js +35 -0
- package/test/util.d.ts +30 -3
- package/test/util.js +30 -3
- package/ui/app/App.d.ts +14 -2
- package/ui/app/App.js +9 -2
- package/ui/app/App.tsx +14 -2
- package/ui/block/Address.d.ts +45 -3
- package/ui/block/Address.js +30 -3
- package/ui/block/Address.tsx +46 -3
- package/ui/block/Block.d.ts +23 -1
- package/ui/block/Block.js +13 -1
- package/ui/block/Block.tsx +23 -1
- package/ui/block/Blockquote.d.ts +21 -0
- package/ui/block/Blockquote.js +16 -0
- package/ui/block/Blockquote.tsx +22 -0
- package/ui/block/Caption.d.ts +21 -1
- package/ui/block/Caption.js +16 -1
- package/ui/block/Caption.tsx +22 -1
- package/ui/block/Card.d.ts +6 -0
- package/ui/block/Card.js +1 -0
- package/ui/block/Card.tsx +6 -0
- package/ui/block/Definitions.d.ts +18 -0
- package/ui/block/Definitions.js +13 -0
- package/ui/block/Definitions.tsx +19 -0
- package/ui/block/Divider.d.ts +21 -0
- package/ui/block/Divider.js +16 -0
- package/ui/block/Divider.tsx +22 -0
- package/ui/block/Heading.d.ts +20 -1
- package/ui/block/Heading.js +15 -0
- package/ui/block/Heading.tsx +21 -1
- package/ui/block/Image.d.ts +23 -0
- package/ui/block/Image.js +18 -0
- package/ui/block/Image.tsx +24 -0
- package/ui/block/Label.d.ts +18 -3
- package/ui/block/Label.js +13 -3
- package/ui/block/Label.tsx +18 -3
- package/ui/block/List.d.ts +30 -0
- package/ui/block/List.js +25 -0
- package/ui/block/List.tsx +32 -0
- package/ui/block/Panel.d.ts +13 -1
- package/ui/block/Panel.js +3 -0
- package/ui/block/Panel.tsx +13 -1
- package/ui/block/Paragraph.d.ts +23 -0
- package/ui/block/Paragraph.js +18 -0
- package/ui/block/Paragraph.tsx +24 -0
- package/ui/block/Preformatted.d.ts +20 -0
- package/ui/block/Preformatted.js +15 -0
- package/ui/block/Preformatted.tsx +21 -0
- package/ui/block/Prose.d.ts +14 -1
- package/ui/block/Prose.js +9 -1
- package/ui/block/Prose.tsx +14 -1
- package/ui/block/Section.d.ts +69 -6
- package/ui/block/Section.js +59 -6
- package/ui/block/Section.tsx +70 -6
- package/ui/block/Subheading.d.ts +20 -1
- package/ui/block/Subheading.js +15 -0
- package/ui/block/Subheading.tsx +21 -1
- package/ui/block/Table.d.ts +20 -0
- package/ui/block/Table.js +15 -0
- package/ui/block/Table.tsx +21 -0
- package/ui/block/Title.d.ts +20 -1
- package/ui/block/Title.js +15 -0
- package/ui/block/Title.tsx +21 -1
- package/ui/block/Video.d.ts +50 -3
- package/ui/block/Video.js +30 -3
- package/ui/block/Video.tsx +50 -3
- package/ui/dialog/Dialog.d.ts +28 -1
- package/ui/dialog/Dialog.js +18 -1
- package/ui/dialog/Dialog.tsx +28 -1
- package/ui/dialog/Dialogs.d.ts +53 -6
- package/ui/dialog/Dialogs.js +43 -6
- package/ui/dialog/Dialogs.tsx +53 -6
- package/ui/dialog/Modal.d.ts +13 -0
- package/ui/dialog/Modal.js +8 -0
- package/ui/dialog/Modal.tsx +13 -0
- package/ui/docs/DocumentationButtons.d.ts +5 -1
- package/ui/docs/DocumentationButtons.tsx +5 -1
- package/ui/docs/DocumentationCard.d.ts +6 -1
- package/ui/docs/DocumentationCard.js +6 -1
- package/ui/docs/DocumentationCard.tsx +6 -1
- package/ui/docs/DocumentationKind.d.ts +13 -1
- package/ui/docs/DocumentationKind.js +8 -0
- package/ui/docs/DocumentationKind.tsx +13 -1
- package/ui/docs/DocumentationPage.d.ts +6 -1
- package/ui/docs/DocumentationPage.js +6 -1
- package/ui/docs/DocumentationPage.tsx +6 -1
- package/ui/docs/DocumentationSignatures.d.ts +10 -1
- package/ui/docs/DocumentationSignatures.js +5 -0
- package/ui/docs/DocumentationSignatures.tsx +10 -1
- package/ui/form/ArrayInput.d.ts +15 -0
- package/ui/form/ArrayInput.tsx +15 -0
- package/ui/form/ArrayRadioInputs.d.ts +10 -0
- package/ui/form/ArrayRadioInputs.js +5 -0
- package/ui/form/ArrayRadioInputs.tsx +10 -0
- package/ui/form/Button.d.ts +19 -3
- package/ui/form/Button.js +14 -2
- package/ui/form/Button.tsx +19 -3
- package/ui/form/ButtonInput.d.ts +14 -1
- package/ui/form/ButtonInput.js +9 -1
- package/ui/form/ButtonInput.tsx +14 -1
- package/ui/form/ButtonInputPopover.d.ts +10 -0
- package/ui/form/ButtonInputPopover.js +5 -0
- package/ui/form/ButtonInputPopover.tsx +10 -0
- package/ui/form/ButtonPopover.d.ts +11 -1
- package/ui/form/ButtonPopover.js +6 -1
- package/ui/form/ButtonPopover.tsx +11 -1
- package/ui/form/CheckboxInput.d.ts +14 -1
- package/ui/form/CheckboxInput.js +9 -1
- package/ui/form/CheckboxInput.tsx +14 -1
- package/ui/form/ChoiceRadioInputs.d.ts +10 -0
- package/ui/form/ChoiceRadioInputs.tsx +10 -0
- package/ui/form/Clickable.d.ts +45 -5
- package/ui/form/Clickable.js +30 -3
- package/ui/form/Clickable.tsx +45 -5
- package/ui/form/DataInput.d.ts +14 -0
- package/ui/form/DataInput.tsx +14 -0
- package/ui/form/DateInput.d.ts +14 -0
- package/ui/form/DateInput.js +9 -0
- package/ui/form/DateInput.tsx +14 -0
- package/ui/form/DictionaryInput.d.ts +15 -0
- package/ui/form/DictionaryInput.tsx +15 -0
- package/ui/form/Field.d.ts +5 -0
- package/ui/form/Field.tsx +5 -0
- package/ui/form/FileInput.d.ts +14 -0
- package/ui/form/FileInput.js +9 -0
- package/ui/form/FileInput.tsx +14 -0
- package/ui/form/Form.d.ts +55 -6
- package/ui/form/Form.js +35 -3
- package/ui/form/Form.tsx +55 -6
- package/ui/form/FormContext.d.ts +24 -3
- package/ui/form/FormContext.js +5 -1
- package/ui/form/FormContext.tsx +24 -3
- package/ui/form/FormFields.d.ts +15 -2
- package/ui/form/FormFields.js +15 -2
- package/ui/form/FormFields.tsx +15 -2
- package/ui/form/FormFooter.d.ts +13 -3
- package/ui/form/FormFooter.js +8 -3
- package/ui/form/FormFooter.tsx +13 -3
- package/ui/form/FormInput.d.ts +21 -2
- package/ui/form/FormInput.js +16 -2
- package/ui/form/FormInput.tsx +21 -2
- package/ui/form/FormMessage.d.ts +8 -1
- package/ui/form/FormMessage.js +8 -1
- package/ui/form/FormMessage.tsx +8 -2
- package/ui/form/FormNotice.d.ts +8 -1
- package/ui/form/FormNotice.js +8 -1
- package/ui/form/FormNotice.tsx +8 -2
- package/ui/form/FormNotify.d.ts +8 -1
- package/ui/form/FormNotify.js +8 -1
- package/ui/form/FormNotify.tsx +8 -2
- package/ui/form/FormStore.d.ts +50 -6
- package/ui/form/FormStore.js +50 -6
- package/ui/form/FormStore.tsx +50 -6
- package/ui/form/Input.d.ts +65 -1
- package/ui/form/Input.js +60 -0
- package/ui/form/Input.tsx +77 -1
- package/ui/form/NumberInput.d.ts +14 -0
- package/ui/form/NumberInput.js +9 -0
- package/ui/form/NumberInput.tsx +14 -0
- package/ui/form/OutputInput.d.ts +13 -1
- package/ui/form/OutputInput.js +8 -1
- package/ui/form/OutputInput.tsx +13 -1
- package/ui/form/Popover.d.ts +18 -2
- package/ui/form/Popover.js +8 -2
- package/ui/form/Popover.tsx +18 -2
- package/ui/form/Progress.d.ts +26 -2
- package/ui/form/Progress.js +16 -2
- package/ui/form/Progress.tsx +26 -2
- package/ui/form/QueryInput.d.ts +14 -5
- package/ui/form/QueryInput.js +9 -5
- package/ui/form/QueryInput.tsx +14 -5
- package/ui/form/RadioInput.d.ts +14 -1
- package/ui/form/RadioInput.js +9 -1
- package/ui/form/RadioInput.tsx +14 -1
- package/ui/form/SchemaInput.d.ts +138 -7
- package/ui/form/SchemaInput.js +79 -4
- package/ui/form/SchemaInput.tsx +138 -7
- package/ui/form/SelectInput.d.ts +14 -0
- package/ui/form/SelectInput.tsx +14 -0
- package/ui/form/SubmitButton.d.ts +14 -1
- package/ui/form/SubmitButton.js +9 -1
- package/ui/form/SubmitButton.tsx +14 -1
- package/ui/form/TextInput.d.ts +15 -0
- package/ui/form/TextInput.js +10 -0
- package/ui/form/TextInput.tsx +15 -0
- package/ui/inline/Code.d.ts +29 -0
- package/ui/inline/Code.js +24 -0
- package/ui/inline/Code.tsx +31 -0
- package/ui/inline/Deleted.d.ts +23 -0
- package/ui/inline/Deleted.js +18 -0
- package/ui/inline/Deleted.tsx +24 -0
- package/ui/inline/Emphasis.d.ts +23 -0
- package/ui/inline/Emphasis.js +18 -0
- package/ui/inline/Emphasis.tsx +24 -0
- package/ui/inline/Inserted.d.ts +23 -0
- package/ui/inline/Inserted.js +18 -0
- package/ui/inline/Inserted.tsx +24 -0
- package/ui/inline/Link.d.ts +23 -0
- package/ui/inline/Link.js +18 -0
- package/ui/inline/Link.tsx +24 -0
- package/ui/inline/Mark.d.ts +23 -0
- package/ui/inline/Mark.js +18 -0
- package/ui/inline/Mark.tsx +24 -0
- package/ui/inline/Small.d.ts +23 -0
- package/ui/inline/Small.js +18 -0
- package/ui/inline/Small.tsx +24 -0
- package/ui/inline/Strong.d.ts +23 -0
- package/ui/inline/Strong.js +18 -0
- package/ui/inline/Strong.tsx +24 -0
- package/ui/inline/Subscript.d.ts +23 -0
- package/ui/inline/Subscript.js +18 -0
- package/ui/inline/Subscript.tsx +24 -0
- package/ui/inline/Superscript.d.ts +23 -0
- package/ui/inline/Superscript.js +18 -0
- package/ui/inline/Superscript.tsx +24 -0
- package/ui/inline/When.d.ts +42 -3
- package/ui/inline/When.js +27 -3
- package/ui/inline/When.tsx +42 -3
- package/ui/layout/CenteredLayout.d.ts +12 -1
- package/ui/layout/CenteredLayout.js +7 -1
- package/ui/layout/CenteredLayout.tsx +12 -1
- package/ui/layout/Layout.d.ts +12 -3
- package/ui/layout/Layout.js +12 -3
- package/ui/layout/Layout.ts +12 -3
- package/ui/layout/SidebarLayout.d.ts +12 -0
- package/ui/layout/SidebarLayout.js +7 -0
- package/ui/layout/SidebarLayout.tsx +12 -0
- package/ui/menu/Menu.d.ts +22 -0
- package/ui/menu/Menu.js +12 -0
- package/ui/menu/Menu.tsx +22 -0
- package/ui/misc/Catcher.d.ts +77 -5
- package/ui/misc/Catcher.js +47 -5
- package/ui/misc/Catcher.tsx +77 -5
- package/ui/misc/Loading.d.ts +20 -0
- package/ui/misc/Loading.js +15 -0
- package/ui/misc/Loading.tsx +20 -0
- package/ui/misc/Mapper.d.ts +13 -1
- package/ui/misc/Mapper.js +4 -0
- package/ui/misc/Mapper.tsx +13 -1
- package/ui/misc/Markup.d.ts +9 -1
- package/ui/misc/Markup.js +4 -0
- package/ui/misc/Markup.tsx +9 -1
- package/ui/misc/MetaContext.d.ts +24 -7
- package/ui/misc/MetaContext.js +19 -6
- package/ui/misc/MetaContext.tsx +24 -7
- package/ui/misc/StatusIcon.d.ts +16 -1
- package/ui/misc/StatusIcon.js +11 -1
- package/ui/misc/StatusIcon.tsx +16 -1
- package/ui/misc/Tag.d.ts +21 -0
- package/ui/misc/Tag.js +11 -0
- package/ui/misc/Tag.tsx +21 -0
- package/ui/notice/Message.d.ts +27 -1
- package/ui/notice/Message.js +22 -1
- package/ui/notice/Message.tsx +27 -1
- package/ui/notice/Notice.d.ts +24 -0
- package/ui/notice/Notice.js +19 -0
- package/ui/notice/Notice.tsx +24 -0
- package/ui/notice/NoticeStore.d.ts +30 -2
- package/ui/notice/NoticeStore.js +30 -2
- package/ui/notice/NoticeStore.ts +30 -2
- package/ui/notice/Notices.d.ts +11 -1
- package/ui/notice/Notices.js +6 -1
- package/ui/notice/Notices.tsx +11 -1
- package/ui/notice/NoticesStore.d.ts +23 -3
- package/ui/notice/NoticesStore.js +23 -3
- package/ui/notice/NoticesStore.ts +23 -3
- package/ui/page/HTML.d.ts +13 -2
- package/ui/page/HTML.js +8 -2
- package/ui/page/HTML.tsx +13 -2
- package/ui/page/Head.d.ts +5 -1
- package/ui/page/Head.js +5 -1
- package/ui/page/Head.tsx +5 -1
- package/ui/page/Page.d.ts +12 -1
- package/ui/page/Page.js +7 -1
- package/ui/page/Page.tsx +12 -1
- package/ui/router/Navigation.d.ts +11 -0
- package/ui/router/Navigation.js +6 -0
- package/ui/router/Navigation.tsx +11 -0
- package/ui/router/NavigationContext.d.ts +14 -2
- package/ui/router/NavigationContext.js +14 -2
- package/ui/router/NavigationContext.tsx +14 -2
- package/ui/router/NavigationStore.d.ts +29 -1
- package/ui/router/NavigationStore.js +29 -1
- package/ui/router/NavigationStore.tsx +29 -1
- package/ui/router/Router.d.ts +12 -1
- package/ui/router/Router.js +7 -1
- package/ui/router/Router.tsx +12 -1
- package/ui/router/Routes.d.ts +14 -4
- package/ui/router/Routes.tsx +14 -4
- package/ui/style/Color.d.ts +15 -2
- package/ui/style/Color.js +5 -0
- package/ui/style/Color.tsx +15 -2
- package/ui/style/Flex.d.ts +41 -4
- package/ui/style/Flex.js +26 -3
- package/ui/style/Flex.tsx +41 -4
- package/ui/style/Gap.d.ts +18 -3
- package/ui/style/Gap.js +8 -1
- package/ui/style/Gap.tsx +18 -3
- package/ui/style/Padding.d.ts +18 -3
- package/ui/style/Padding.js +8 -1
- package/ui/style/Padding.tsx +18 -3
- package/ui/style/Scroll.d.ts +36 -1
- package/ui/style/Scroll.js +26 -1
- package/ui/style/Scroll.tsx +37 -1
- package/ui/style/Space.d.ts +18 -3
- package/ui/style/Space.js +8 -1
- package/ui/style/Space.tsx +18 -3
- package/ui/style/Status.d.ts +23 -7
- package/ui/style/Status.js +13 -5
- package/ui/style/Status.tsx +23 -7
- package/ui/style/Tint.d.ts +7 -1
- package/ui/style/Tint.js +7 -1
- package/ui/style/Tint.tsx +7 -1
- package/ui/style/Typography.d.ts +38 -6
- package/ui/style/Typography.js +8 -0
- package/ui/style/Typography.tsx +38 -6
- package/ui/style/Width.d.ts +18 -1
- package/ui/style/Width.js +8 -0
- package/ui/style/Width.tsx +18 -1
- package/ui/transition/CollapseTransition.d.ts +13 -0
- package/ui/transition/CollapseTransition.js +8 -0
- package/ui/transition/CollapseTransition.tsx +13 -0
- package/ui/transition/FadeTransition.d.ts +13 -0
- package/ui/transition/FadeTransition.js +8 -0
- package/ui/transition/FadeTransition.tsx +13 -0
- package/ui/transition/HorizontalTransition.d.ts +13 -0
- package/ui/transition/HorizontalTransition.js +8 -0
- package/ui/transition/HorizontalTransition.tsx +13 -0
- package/ui/transition/Transition.d.ts +12 -4
- package/ui/transition/Transition.js +7 -3
- package/ui/transition/Transition.tsx +12 -4
- package/ui/transition/VerticalTransition.d.ts +13 -0
- package/ui/transition/VerticalTransition.js +8 -0
- package/ui/transition/VerticalTransition.tsx +13 -0
- package/ui/transition/util.d.ts +16 -6
- package/ui/transition/util.js +7 -1
- package/ui/transition/util.tsx +16 -6
- package/ui/tree/TreeApp.d.ts +11 -0
- package/ui/tree/TreeApp.js +6 -0
- package/ui/tree/TreeApp.tsx +11 -0
- package/ui/tree/TreeBreadcrumbs.d.ts +11 -0
- package/ui/tree/TreeBreadcrumbs.js +6 -0
- package/ui/tree/TreeBreadcrumbs.tsx +11 -0
- package/ui/tree/TreeButton.d.ts +9 -1
- package/ui/tree/TreeButton.js +4 -0
- package/ui/tree/TreeButton.tsx +9 -1
- package/ui/tree/TreeCard.d.ts +8 -1
- package/ui/tree/TreeCard.js +8 -1
- package/ui/tree/TreeCard.tsx +8 -1
- package/ui/tree/TreeCards.d.ts +16 -1
- package/ui/tree/TreeCards.js +11 -1
- package/ui/tree/TreeCards.tsx +16 -1
- package/ui/tree/TreeContext.d.ts +18 -1
- package/ui/tree/TreeContext.js +18 -1
- package/ui/tree/TreeContext.tsx +18 -1
- package/ui/tree/TreeMenu.d.ts +28 -1
- package/ui/tree/TreeMenu.js +23 -1
- package/ui/tree/TreeMenu.tsx +28 -1
- package/ui/tree/TreePage.d.ts +6 -0
- package/ui/tree/TreePage.js +6 -0
- package/ui/tree/TreePage.tsx +6 -0
- package/ui/tree/TreeRouter.d.ts +17 -2
- package/ui/tree/TreeRouter.js +12 -2
- package/ui/tree/TreeRouter.tsx +17 -2
- package/ui/tree/TreeSidebar.d.ts +11 -0
- package/ui/tree/TreeSidebar.js +6 -0
- package/ui/tree/TreeSidebar.tsx +11 -0
- package/ui/util/context.d.ts +13 -1
- package/ui/util/context.ts +13 -1
- package/ui/util/css.d.ts +17 -4
- package/ui/util/css.js +5 -1
- package/ui/util/css.ts +17 -4
- package/ui/util/event.d.ts +9 -1
- package/ui/util/event.js +9 -1
- package/ui/util/event.ts +9 -1
- package/ui/util/focus.d.ts +24 -5
- package/ui/util/focus.js +24 -5
- package/ui/util/focus.ts +24 -5
- package/ui/util/meta.d.ts +113 -21
- package/ui/util/meta.js +73 -13
- package/ui/util/meta.ts +113 -21
- package/ui/util/notice.d.ts +98 -10
- package/ui/util/notice.js +93 -9
- package/ui/util/notice.ts +98 -10
- package/ui/util/props.d.ts +10 -2
- package/ui/util/props.ts +10 -2
- package/ui/util/refresh.d.ts +10 -1
- package/ui/util/refresh.js +10 -1
- package/ui/util/refresh.ts +10 -1
- package/ui/util/scroll.d.ts +20 -4
- package/ui/util/scroll.js +20 -4
- package/ui/util/scroll.ts +20 -4
- package/ui/util/state.d.ts +19 -5
- package/ui/util/state.js +19 -5
- package/ui/util/state.ts +19 -5
- package/util/ansi.d.ts +118 -0
- package/util/ansi.js +116 -0
- package/util/array.d.ts +349 -33
- package/util/array.js +284 -27
- package/util/async.d.ts +87 -9
- package/util/async.js +80 -8
- package/util/base64.d.ts +56 -6
- package/util/base64.js +56 -6
- package/util/boolean.d.ts +75 -10
- package/util/boolean.js +75 -10
- package/util/buffer.d.ts +26 -3
- package/util/buffer.js +21 -3
- package/util/bytes.d.ts +42 -4
- package/util/bytes.js +32 -2
- package/util/class.d.ts +59 -8
- package/util/class.js +44 -5
- package/util/color.d.ts +131 -13
- package/util/color.js +126 -12
- package/util/constants.d.ts +132 -19
- package/util/constants.js +132 -19
- package/util/crypto.d.ts +17 -1
- package/util/crypto.js +17 -1
- package/util/currency.d.ts +38 -4
- package/util/currency.js +33 -3
- package/util/data.d.ts +139 -24
- package/util/data.js +39 -5
- package/util/date.d.ts +152 -18
- package/util/date.js +147 -17
- package/util/debug.d.ts +112 -11
- package/util/debug.js +114 -11
- package/util/dictionary.d.ts +205 -24
- package/util/dictionary.js +162 -17
- package/util/diff.d.ts +22 -3
- package/util/diff.js +11 -1
- package/util/dispose.d.ts +74 -2
- package/util/dispose.js +74 -2
- package/util/duration.d.ts +278 -16
- package/util/duration.js +267 -15
- package/util/element.d.ts +59 -6
- package/util/element.js +32 -3
- package/util/entity.d.ts +39 -6
- package/util/entity.js +5 -1
- package/util/entry.d.ts +56 -9
- package/util/entry.js +32 -4
- package/util/env.d.ts +26 -4
- package/util/env.js +26 -4
- package/util/equal.d.ts +181 -17
- package/util/equal.js +181 -17
- package/util/error.d.ts +57 -5
- package/util/error.js +52 -4
- package/util/file.d.ts +30 -7
- package/util/file.js +25 -6
- package/util/filter.d.ts +36 -4
- package/util/filter.js +31 -3
- package/util/focus.d.ts +9 -1
- package/util/focus.js +9 -1
- package/util/format.d.ts +186 -22
- package/util/format.js +135 -14
- package/util/function.d.ts +66 -11
- package/util/function.js +31 -4
- package/util/geo.d.ts +60 -8
- package/util/geo.js +45 -5
- package/util/hash.d.ts +21 -2
- package/util/hash.js +21 -2
- package/util/http.d.ts +134 -19
- package/util/http.js +94 -11
- package/util/hydrate.d.ts +19 -2
- package/util/hydrate.js +12 -1
- package/util/item.d.ts +70 -11
- package/util/item.js +35 -4
- package/util/iterate.d.ts +109 -13
- package/util/iterate.js +86 -10
- package/util/jwt.d.ts +47 -13
- package/util/jwt.js +36 -12
- package/util/lazy.d.ts +9 -6
- package/util/link.d.ts +10 -3
- package/util/link.js +5 -2
- package/util/log.d.ts +26 -3
- package/util/log.js +26 -3
- package/util/map.d.ts +144 -19
- package/util/map.js +101 -11
- package/util/merge.d.ts +23 -1
- package/util/merge.js +6 -0
- package/util/null.d.ts +102 -13
- package/util/null.js +92 -11
- package/util/number.d.ts +125 -8
- package/util/number.js +120 -7
- package/util/object.d.ts +263 -31
- package/util/object.js +154 -17
- package/util/path.d.ts +91 -15
- package/util/path.js +60 -9
- package/util/query.d.ts +78 -9
- package/util/query.js +58 -6
- package/util/random.d.ts +67 -4
- package/util/random.js +67 -4
- package/util/regexp.d.ts +201 -24
- package/util/regexp.js +106 -11
- package/util/sequence.d.ts +66 -8
- package/util/sequence.js +52 -7
- package/util/serialise.d.ts +7 -1
- package/util/serialise.js +7 -1
- package/util/set.d.ts +103 -13
- package/util/set.js +83 -9
- package/util/sort.d.ts +32 -7
- package/util/sort.js +26 -6
- package/util/source.d.ts +28 -3
- package/util/source.js +22 -2
- package/util/start.d.ts +62 -5
- package/util/start.js +47 -2
- package/util/string.d.ts +209 -25
- package/util/string.js +188 -21
- package/util/template.d.ts +58 -9
- package/util/template.js +45 -6
- package/util/timeout.d.ts +35 -11
- package/util/timeout.js +35 -11
- package/util/transform.d.ts +87 -8
- package/util/transform.js +75 -7
- package/util/tree.d.ts +39 -6
- package/util/tree.js +3 -0
- package/util/types.d.ts +8 -2
- package/util/undefined.d.ts +47 -6
- package/util/undefined.js +47 -6
- package/util/units.d.ts +107 -12
- package/util/units.js +97 -12
- package/util/update.d.ts +36 -4
- package/util/update.js +24 -2
- package/util/uri.d.ts +138 -6
- package/util/uri.js +44 -3
- package/util/url.d.ts +152 -7
- package/util/url.js +136 -5
- package/util/uuid.d.ts +28 -3
- package/util/uuid.js +28 -3
- package/util/validate.d.ts +85 -20
- package/util/validate.js +61 -12
- package/util/xml.d.ts +9 -10
- package/util/xml.js +9 -10
package/util/entity.d.ts
CHANGED
|
@@ -1,17 +1,50 @@
|
|
|
1
1
|
import type { AnyCaller } from "./function.js";
|
|
2
2
|
import type { Nullish } from "./null.js";
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
* Entity string combining a type and ID, e.g. `challenge:a1b2c3`
|
|
5
|
+
*
|
|
6
|
+
* @see https://dhoulb.github.io/shelving/util/entity/Entity
|
|
7
|
+
*/
|
|
4
8
|
export type Entity<T extends string = string> = `${T}:${string}`;
|
|
5
|
-
/**
|
|
9
|
+
/**
|
|
10
|
+
* Extract the type portion from an `Entity` string.
|
|
11
|
+
*
|
|
12
|
+
* @see https://dhoulb.github.io/shelving/util/entity/EntityType
|
|
13
|
+
*/
|
|
6
14
|
export type EntityType<E extends Entity> = E extends Entity<infer T> ? T : never;
|
|
7
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Tuple representing an empty (invalid) entity, with `undefined` type and ID.
|
|
17
|
+
*
|
|
18
|
+
* @see https://dhoulb.github.io/shelving/util/entity/EmptyEntity
|
|
19
|
+
*/
|
|
8
20
|
export type EmptyEntity = [type: undefined, id: undefined];
|
|
9
|
-
/**
|
|
21
|
+
/**
|
|
22
|
+
* Shared `EmptyEntity` constant returned when an entity string is invalid.
|
|
23
|
+
*
|
|
24
|
+
* @see https://dhoulb.github.io/shelving/util/entity/EMPTY_ENTITY
|
|
25
|
+
*/
|
|
10
26
|
export declare const EMPTY_ENTITY: EmptyEntity;
|
|
11
|
-
/**
|
|
27
|
+
/**
|
|
28
|
+
* Split an optional entity tag like `challenge:a1b2c3` into its `type` and `id`, or return `EmptyEntity` if the entity was invalid.
|
|
29
|
+
*
|
|
30
|
+
* @param entity The entity string to split, or a nullish value.
|
|
31
|
+
* @returns A `[type, id]` tuple, or `EMPTY_ENTITY` if the entity was missing or invalid.
|
|
32
|
+
* @example getEntity("challenge:a1b2c3") // ["challenge", "a1b2c3"]
|
|
33
|
+
* @example getEntity(undefined) // [undefined, undefined]
|
|
34
|
+
* @see https://dhoulb.github.io/shelving/util/entity/getEntity
|
|
35
|
+
*/
|
|
12
36
|
export declare function getEntity<T extends string>(entity: Entity<T>): [type: T, id: string];
|
|
13
37
|
export declare function getEntity<T extends string>(entity: Nullish<Entity<T>>): [type: T, id: string] | EmptyEntity;
|
|
14
38
|
export declare function getEntity(entity: Nullish<string>): [type: string, id: string] | EmptyEntity;
|
|
15
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Split an entity tag like `challenge:a1b2c3` into its `type` and `id`, or throw `RequiredError` if the entity tag was invalid.
|
|
41
|
+
*
|
|
42
|
+
* @param entity The entity string to split.
|
|
43
|
+
* @param caller Function to attribute a thrown error to (defaults to `requireEntity`).
|
|
44
|
+
* @returns A `[type, id]` tuple.
|
|
45
|
+
* @throws {RequiredError} If the entity string is missing or invalid.
|
|
46
|
+
* @example requireEntity("challenge:a1b2c3") // ["challenge", "a1b2c3"]
|
|
47
|
+
* @see https://dhoulb.github.io/shelving/util/entity/requireEntity
|
|
48
|
+
*/
|
|
16
49
|
export declare function requireEntity<T extends string>(entity: Entity<T>, caller?: AnyCaller): [type: T, id: string];
|
|
17
50
|
export declare function requireEntity(entity: string, caller?: AnyCaller): [type: string, id: string];
|
package/util/entity.js
CHANGED
|
@@ -1,5 +1,9 @@
|
|
|
1
1
|
import { RequiredError } from "../error/RequiredError.js";
|
|
2
|
-
/**
|
|
2
|
+
/**
|
|
3
|
+
* Shared `EmptyEntity` constant returned when an entity string is invalid.
|
|
4
|
+
*
|
|
5
|
+
* @see https://dhoulb.github.io/shelving/util/entity/EMPTY_ENTITY
|
|
6
|
+
*/
|
|
3
7
|
export const EMPTY_ENTITY = [undefined, undefined];
|
|
4
8
|
export function getEntity(entity) {
|
|
5
9
|
if (entity) {
|
package/util/entry.d.ts
CHANGED
|
@@ -2,31 +2,78 @@ import type { ImmutableArray } from "./array.js";
|
|
|
2
2
|
import type { ImmutableObject } from "./object.js";
|
|
3
3
|
import type { ImmutableSet } from "./set.js";
|
|
4
4
|
/**
|
|
5
|
-
* Single entry from a map-like object.
|
|
5
|
+
* Single key/value entry from a map-like object.
|
|
6
6
|
* - Consistency with `UnknownObject`
|
|
7
7
|
* - Always readonly.
|
|
8
|
+
*
|
|
9
|
+
* @see https://dhoulb.github.io/shelving/util/entry/Entry
|
|
8
10
|
*/
|
|
9
11
|
export type Entry<K = unknown, T = unknown> = readonly [K, T];
|
|
10
|
-
/**
|
|
12
|
+
/**
|
|
13
|
+
* Extract the key type from an `Entry`.
|
|
14
|
+
*
|
|
15
|
+
* @see https://dhoulb.github.io/shelving/util/entry/EntryKey
|
|
16
|
+
*/
|
|
11
17
|
export type EntryKey<X> = X extends Entry<infer Y, unknown> ? Y : never;
|
|
12
|
-
/**
|
|
18
|
+
/**
|
|
19
|
+
* Extract the value type from an `Entry`.
|
|
20
|
+
*
|
|
21
|
+
* @see https://dhoulb.github.io/shelving/util/entry/EntryValue
|
|
22
|
+
*/
|
|
13
23
|
export type EntryValue<X> = X extends Entry<unknown, infer Y> ? Y : never;
|
|
14
24
|
/**
|
|
15
|
-
*
|
|
25
|
+
* Turn an `Entry` type back into an object with a single property.
|
|
16
26
|
* i.e. `EntryObject<Entry<"a", string>>` produces `{ a: string }`
|
|
27
|
+
*
|
|
28
|
+
* @see https://dhoulb.github.io/shelving/util/entry/EntryObject
|
|
17
29
|
*/
|
|
18
30
|
export type EntryObject<T extends Entry<PropertyKey, unknown>> = {
|
|
19
31
|
readonly [E in T as E[0]]: E[1];
|
|
20
32
|
};
|
|
21
|
-
/**
|
|
33
|
+
/**
|
|
34
|
+
* Extract the key from an object entry.
|
|
35
|
+
*
|
|
36
|
+
* @param entry The `[key, value]` entry to read from.
|
|
37
|
+
* @returns The key (first element) of the entry.
|
|
38
|
+
* @example getEntryKey(["a", 1]) // "a"
|
|
39
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryKey
|
|
40
|
+
*/
|
|
22
41
|
export declare function getEntryKey<K, T>([k]: Entry<K, T>): K;
|
|
23
|
-
/**
|
|
42
|
+
/**
|
|
43
|
+
* Extract the value from an object entry.
|
|
44
|
+
*
|
|
45
|
+
* @param entry The `[key, value]` entry to read from.
|
|
46
|
+
* @returns The value (second element) of the entry.
|
|
47
|
+
* @example getEntryValue(["a", 1]) // 1
|
|
48
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryValue
|
|
49
|
+
*/
|
|
24
50
|
export declare function getEntryValue<K, T>([, v]: Entry<K, T>): T;
|
|
25
|
-
/**
|
|
51
|
+
/**
|
|
52
|
+
* Yield the keys of an iterable set of entries.
|
|
53
|
+
*
|
|
54
|
+
* @param input Iterable of `[key, value]` entries.
|
|
55
|
+
* @returns Iterable yielding each entry's key.
|
|
56
|
+
* @example Array.from(getEntryKeys([["a", 1], ["b", 2]])) // ["a", "b"]
|
|
57
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryKeys
|
|
58
|
+
*/
|
|
26
59
|
export declare function getEntryKeys<K, T>(input: Iterable<Entry<K, T>>): Iterable<K>;
|
|
27
|
-
/**
|
|
60
|
+
/**
|
|
61
|
+
* Yield the values of an iterable set of entries.
|
|
62
|
+
*
|
|
63
|
+
* @param input Iterable of `[key, value]` entries.
|
|
64
|
+
* @returns Iterable yielding each entry's value.
|
|
65
|
+
* @example Array.from(getEntryValues([["a", 1], ["b", 2]])) // [1, 2]
|
|
66
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryValues
|
|
67
|
+
*/
|
|
28
68
|
export declare function getEntryValues<K, T>(input: Iterable<Entry<K, T>>): Iterable<T>;
|
|
29
|
-
/**
|
|
69
|
+
/**
|
|
70
|
+
* Yield the entries from one or more entry-yielding sources (sets, objects, maps, arrays, or iterables of entries).
|
|
71
|
+
*
|
|
72
|
+
* @param input One or more sources that can yield `[key, value]` entries.
|
|
73
|
+
* @returns Iterable yielding the combined entries from every input.
|
|
74
|
+
* @example Array.from(getEntries({ a: 1, b: 2 })) // [["a", 1], ["b", 2]]
|
|
75
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntries
|
|
76
|
+
*/
|
|
30
77
|
export declare function getEntries<K extends string, T = K>(...input: (ImmutableSet<K & T> | Partial<ImmutableObject<K, T>> | Iterable<Entry<K, T>>)[]): Iterable<Entry<K, T>>;
|
|
31
78
|
export declare function getEntries<K extends number, T = K>(...input: (ImmutableArray<T> | ImmutableSet<K & T> | Iterable<Entry<K, T>>)[]): Iterable<Entry<K, T>>;
|
|
32
79
|
export declare function getEntries<K, T = K>(...input: (ImmutableSet<K & T> | Iterable<Entry<K, T>>)[]): Iterable<Entry<K, T>>;
|
package/util/entry.js
CHANGED
|
@@ -1,20 +1,48 @@
|
|
|
1
1
|
import { isArray } from "./array.js";
|
|
2
2
|
import { isIterable } from "./iterate.js";
|
|
3
3
|
import { isSet } from "./set.js";
|
|
4
|
-
/**
|
|
4
|
+
/**
|
|
5
|
+
* Extract the key from an object entry.
|
|
6
|
+
*
|
|
7
|
+
* @param entry The `[key, value]` entry to read from.
|
|
8
|
+
* @returns The key (first element) of the entry.
|
|
9
|
+
* @example getEntryKey(["a", 1]) // "a"
|
|
10
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryKey
|
|
11
|
+
*/
|
|
5
12
|
export function getEntryKey([k]) {
|
|
6
13
|
return k;
|
|
7
14
|
}
|
|
8
|
-
/**
|
|
15
|
+
/**
|
|
16
|
+
* Extract the value from an object entry.
|
|
17
|
+
*
|
|
18
|
+
* @param entry The `[key, value]` entry to read from.
|
|
19
|
+
* @returns The value (second element) of the entry.
|
|
20
|
+
* @example getEntryValue(["a", 1]) // 1
|
|
21
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryValue
|
|
22
|
+
*/
|
|
9
23
|
export function getEntryValue([, v]) {
|
|
10
24
|
return v;
|
|
11
25
|
}
|
|
12
|
-
/**
|
|
26
|
+
/**
|
|
27
|
+
* Yield the keys of an iterable set of entries.
|
|
28
|
+
*
|
|
29
|
+
* @param input Iterable of `[key, value]` entries.
|
|
30
|
+
* @returns Iterable yielding each entry's key.
|
|
31
|
+
* @example Array.from(getEntryKeys([["a", 1], ["b", 2]])) // ["a", "b"]
|
|
32
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryKeys
|
|
33
|
+
*/
|
|
13
34
|
export function* getEntryKeys(input) {
|
|
14
35
|
for (const [k] of input)
|
|
15
36
|
yield k;
|
|
16
37
|
}
|
|
17
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Yield the values of an iterable set of entries.
|
|
40
|
+
*
|
|
41
|
+
* @param input Iterable of `[key, value]` entries.
|
|
42
|
+
* @returns Iterable yielding each entry's value.
|
|
43
|
+
* @example Array.from(getEntryValues([["a", 1], ["b", 2]])) // [1, 2]
|
|
44
|
+
* @see https://dhoulb.github.io/shelving/util/entry/getEntryValues
|
|
45
|
+
*/
|
|
18
46
|
export function* getEntryValues(input) {
|
|
19
47
|
for (const [, v] of input)
|
|
20
48
|
yield v;
|
package/util/env.d.ts
CHANGED
|
@@ -1,21 +1,43 @@
|
|
|
1
1
|
import type { AnyCaller } from "./function.js";
|
|
2
2
|
/**
|
|
3
3
|
* Get a `process.env` variable safely in all environments, or `undefined` if it doesn't exist or this environment does not support `process.env` (i.e. web environments).
|
|
4
|
+
*
|
|
5
|
+
* @param name Name of the environment variable to read.
|
|
6
|
+
* @returns The variable's string value, or `undefined` if missing or unsupported.
|
|
7
|
+
* @example getEnv("NODE_ENV") // "production"
|
|
8
|
+
* @see https://dhoulb.github.io/shelving/util/env/getEnv
|
|
4
9
|
*/
|
|
5
10
|
export declare function getEnv(name: string): string | undefined;
|
|
6
11
|
/**
|
|
7
12
|
* Get a `process.env` variable safely in all environments, or throw `RequiredError` if it doesn't exist or this environment does not support `process.env` (i.e. web environments).
|
|
13
|
+
*
|
|
14
|
+
* @param name Name of the environment variable to read.
|
|
15
|
+
* @param caller Function to attribute a thrown error to (defaults to `requireEnv`).
|
|
16
|
+
* @returns The variable's string value.
|
|
17
|
+
* @throws `RequiredError` if the variable is missing or `process.env` is unsupported.
|
|
18
|
+
* @example requireEnv("DATABASE_URL") // "postgres://..."
|
|
19
|
+
* @see https://dhoulb.github.io/shelving/util/env/requireEnv
|
|
8
20
|
*/
|
|
9
21
|
export declare function requireEnv(name: string, caller?: AnyCaller): string;
|
|
10
22
|
/**
|
|
11
|
-
* Get a `process.env` variable and resolve it to
|
|
23
|
+
* Get a `process.env` variable and resolve it to `true` or `false`, or `undefined` if it isn't a true/false value.
|
|
24
|
+
* - Truthy values: `1`, `on`, `yes`, `true` (case-insensitive).
|
|
25
|
+
* - Falsy values: `0`, `off`, `no`, `false` (case-insensitive).
|
|
26
|
+
*
|
|
27
|
+
* @param name Name of the environment variable to read.
|
|
28
|
+
* @returns `true` or `false` if the value is recognised, otherwise `undefined`.
|
|
29
|
+
* @example getEnvBoolean("FEATURE_FLAG") // true
|
|
30
|
+
* @see https://dhoulb.github.io/shelving/util/env/getEnvBoolean
|
|
12
31
|
*/
|
|
13
32
|
export declare function getEnvBoolean(name: string): boolean | undefined;
|
|
14
33
|
/**
|
|
15
|
-
* Get a `process.env` variable and resolve it to
|
|
34
|
+
* Get a `process.env` variable and resolve it to `true` or `false`, or throw `RequiredError` if it isn't a true/false value.
|
|
16
35
|
*
|
|
17
|
-
* @
|
|
18
|
-
* @
|
|
36
|
+
* @param name Name of the environment variable to read.
|
|
37
|
+
* @param caller Function to attribute a thrown error to (defaults to `requireEnvBoolean`).
|
|
38
|
+
* @returns `false` if the environment variable is `0`, `off`, `no`, `false`; `true` if it is `1`, `on`, `yes`, `true`.
|
|
19
39
|
* @throws `RequiredError` if the env variable is any other value.
|
|
40
|
+
* @example requireEnvBoolean("FEATURE_FLAG") // true
|
|
41
|
+
* @see https://dhoulb.github.io/shelving/util/env/requireEnvBoolean
|
|
20
42
|
*/
|
|
21
43
|
export declare function requireEnvBoolean(name: string, caller?: AnyCaller): boolean;
|
package/util/env.js
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
1
|
import { RequiredError } from "../error/RequiredError.js";
|
|
2
2
|
/**
|
|
3
3
|
* Get a `process.env` variable safely in all environments, or `undefined` if it doesn't exist or this environment does not support `process.env` (i.e. web environments).
|
|
4
|
+
*
|
|
5
|
+
* @param name Name of the environment variable to read.
|
|
6
|
+
* @returns The variable's string value, or `undefined` if missing or unsupported.
|
|
7
|
+
* @example getEnv("NODE_ENV") // "production"
|
|
8
|
+
* @see https://dhoulb.github.io/shelving/util/env/getEnv
|
|
4
9
|
*/
|
|
5
10
|
export function getEnv(name) {
|
|
6
11
|
if (typeof process === "object" && typeof process.env === "object")
|
|
@@ -8,6 +13,13 @@ export function getEnv(name) {
|
|
|
8
13
|
}
|
|
9
14
|
/**
|
|
10
15
|
* Get a `process.env` variable safely in all environments, or throw `RequiredError` if it doesn't exist or this environment does not support `process.env` (i.e. web environments).
|
|
16
|
+
*
|
|
17
|
+
* @param name Name of the environment variable to read.
|
|
18
|
+
* @param caller Function to attribute a thrown error to (defaults to `requireEnv`).
|
|
19
|
+
* @returns The variable's string value.
|
|
20
|
+
* @throws `RequiredError` if the variable is missing or `process.env` is unsupported.
|
|
21
|
+
* @example requireEnv("DATABASE_URL") // "postgres://..."
|
|
22
|
+
* @see https://dhoulb.github.io/shelving/util/env/requireEnv
|
|
11
23
|
*/
|
|
12
24
|
export function requireEnv(name, caller = requireEnv) {
|
|
13
25
|
const env = getEnv(name);
|
|
@@ -16,7 +28,14 @@ export function requireEnv(name, caller = requireEnv) {
|
|
|
16
28
|
return env;
|
|
17
29
|
}
|
|
18
30
|
/**
|
|
19
|
-
* Get a `process.env` variable and resolve it to
|
|
31
|
+
* Get a `process.env` variable and resolve it to `true` or `false`, or `undefined` if it isn't a true/false value.
|
|
32
|
+
* - Truthy values: `1`, `on`, `yes`, `true` (case-insensitive).
|
|
33
|
+
* - Falsy values: `0`, `off`, `no`, `false` (case-insensitive).
|
|
34
|
+
*
|
|
35
|
+
* @param name Name of the environment variable to read.
|
|
36
|
+
* @returns `true` or `false` if the value is recognised, otherwise `undefined`.
|
|
37
|
+
* @example getEnvBoolean("FEATURE_FLAG") // true
|
|
38
|
+
* @see https://dhoulb.github.io/shelving/util/env/getEnvBoolean
|
|
20
39
|
*/
|
|
21
40
|
export function getEnvBoolean(name) {
|
|
22
41
|
const env = getEnv(name)?.toLowerCase();
|
|
@@ -28,11 +47,14 @@ export function getEnvBoolean(name) {
|
|
|
28
47
|
const _TRUES = [`1`, `on`, `yes`, `true`];
|
|
29
48
|
const _FALSES = [`0`, `off`, `no`, `false`];
|
|
30
49
|
/**
|
|
31
|
-
* Get a `process.env` variable and resolve it to
|
|
50
|
+
* Get a `process.env` variable and resolve it to `true` or `false`, or throw `RequiredError` if it isn't a true/false value.
|
|
32
51
|
*
|
|
33
|
-
* @
|
|
34
|
-
* @
|
|
52
|
+
* @param name Name of the environment variable to read.
|
|
53
|
+
* @param caller Function to attribute a thrown error to (defaults to `requireEnvBoolean`).
|
|
54
|
+
* @returns `false` if the environment variable is `0`, `off`, `no`, `false`; `true` if it is `1`, `on`, `yes`, `true`.
|
|
35
55
|
* @throws `RequiredError` if the env variable is any other value.
|
|
56
|
+
* @example requireEnvBoolean("FEATURE_FLAG") // true
|
|
57
|
+
* @see https://dhoulb.github.io/shelving/util/env/requireEnvBoolean
|
|
36
58
|
*/
|
|
37
59
|
export function requireEnvBoolean(name, caller = requireEnvBoolean) {
|
|
38
60
|
const env = getEnv(name);
|
package/util/equal.d.ts
CHANGED
|
@@ -3,64 +3,207 @@ import type { Match } from "./filter.js";
|
|
|
3
3
|
import type { AnyCaller } from "./function.js";
|
|
4
4
|
import type { ImmutableMap } from "./map.js";
|
|
5
5
|
import type { ImmutableObject } from "./object.js";
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Assert that two values are exactly (referentially) equal, narrowing `left` to the type of `right`.
|
|
8
|
+
*
|
|
9
|
+
* @param left The value to check and narrow.
|
|
10
|
+
* @param right The value `left` must equal.
|
|
11
|
+
* @param caller Function to attribute a thrown error to (defaults to `assertEqual`).
|
|
12
|
+
* @throws {RequiredError} If the values are not equal.
|
|
13
|
+
* @example assertEqual(1, 1); // passes
|
|
14
|
+
* @see https://dhoulb.github.io/shelving/util/equal/assertEqual
|
|
15
|
+
*/
|
|
7
16
|
export declare function assertEqual<T>(left: unknown, right: T, caller?: AnyCaller): asserts left is T;
|
|
8
|
-
/**
|
|
17
|
+
/**
|
|
18
|
+
* Assert that two values are not equal, narrowing `left` to exclude the type of `right`.
|
|
19
|
+
*
|
|
20
|
+
* @param left The value to check and narrow.
|
|
21
|
+
* @param right The value `left` must not equal.
|
|
22
|
+
* @param caller Function to attribute a thrown error to (defaults to `assertNot`).
|
|
23
|
+
* @throws {RequiredError} If the values are equal.
|
|
24
|
+
* @example assertNot(1, 2); // passes
|
|
25
|
+
* @see https://dhoulb.github.io/shelving/util/equal/assertNot
|
|
26
|
+
*/
|
|
9
27
|
export declare function assertNot<T, N>(left: T | N, right: N, caller?: AnyCaller): asserts left is T;
|
|
10
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
* Is unknown value `left` exactly (referentially) equal to `right`?
|
|
30
|
+
*
|
|
31
|
+
* @param left The value to check and narrow.
|
|
32
|
+
* @param right The value to compare against.
|
|
33
|
+
* @returns `true` if the values are strictly equal.
|
|
34
|
+
* @example isEqual(1, 1) // true
|
|
35
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isEqual
|
|
36
|
+
*/
|
|
11
37
|
export declare function isEqual<T>(left: unknown, right: T): left is T;
|
|
12
|
-
/**
|
|
38
|
+
/**
|
|
39
|
+
* Is unknown value `left` not exactly (referentially) equal to `right`?
|
|
40
|
+
*
|
|
41
|
+
* @param left The value to check and narrow.
|
|
42
|
+
* @param right The value to compare against.
|
|
43
|
+
* @returns `true` if the values are not strictly equal.
|
|
44
|
+
* @example notEqual(1, 2) // true
|
|
45
|
+
* @see https://dhoulb.github.io/shelving/util/equal/notEqual
|
|
46
|
+
*/
|
|
13
47
|
export declare function notEqual<T, N>(left: T | N, right: N): left is T;
|
|
14
|
-
/**
|
|
48
|
+
/**
|
|
49
|
+
* Is unknown value `left` less than `right` (using `compareAscending`)?
|
|
50
|
+
*
|
|
51
|
+
* @param left The value to compare.
|
|
52
|
+
* @param right The value to compare against.
|
|
53
|
+
* @returns `true` if `left` sorts before `right`.
|
|
54
|
+
* @example isLess(1, 2) // true
|
|
55
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isLess
|
|
56
|
+
*/
|
|
15
57
|
export declare function isLess(left: unknown, right: unknown): boolean;
|
|
16
|
-
/**
|
|
58
|
+
/**
|
|
59
|
+
* Is unknown value `left` less than or equal to `right` (using `compareAscending`)?
|
|
60
|
+
*
|
|
61
|
+
* @param left The value to compare.
|
|
62
|
+
* @param right The value to compare against.
|
|
63
|
+
* @returns `true` if `left` sorts before or equal to `right`.
|
|
64
|
+
* @example isEqualLess(2, 2) // true
|
|
65
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isEqualLess
|
|
66
|
+
*/
|
|
17
67
|
export declare function isEqualLess(left: unknown, right: unknown): boolean;
|
|
18
|
-
/**
|
|
68
|
+
/**
|
|
69
|
+
* Is unknown value `left` greater than `right` (using `compareAscending`)?
|
|
70
|
+
*
|
|
71
|
+
* @param left The value to compare.
|
|
72
|
+
* @param right The value to compare against.
|
|
73
|
+
* @returns `true` if `left` sorts after `right`.
|
|
74
|
+
* @example isGreater(2, 1) // true
|
|
75
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isGreater
|
|
76
|
+
*/
|
|
19
77
|
export declare function isGreater(left: unknown, right: unknown): boolean;
|
|
20
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Is unknown value `left` greater than or equal to `right` (using `compareAscending`)?
|
|
80
|
+
*
|
|
81
|
+
* @param left The value to compare.
|
|
82
|
+
* @param right The value to compare against.
|
|
83
|
+
* @returns `true` if `left` sorts after or equal to `right`.
|
|
84
|
+
* @example isEqualGreater(2, 2) // true
|
|
85
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isEqualGreater
|
|
86
|
+
*/
|
|
21
87
|
export declare function isEqualGreater(left: unknown, right: unknown): boolean;
|
|
22
88
|
/**
|
|
23
89
|
* Are two unknown values shallowly equal?
|
|
24
90
|
* - If the values are both arrays/objects, see if the items/properties are **shallowly** equal with each other.
|
|
91
|
+
*
|
|
92
|
+
* @param left The value to check and narrow.
|
|
93
|
+
* @param right The value to compare against.
|
|
94
|
+
* @returns `true` if the values are shallowly equal.
|
|
95
|
+
* @example isShallowEqual({ a: 1 }, { a: 1 }) // true
|
|
96
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isShallowEqual
|
|
25
97
|
*/
|
|
26
98
|
export declare function isShallowEqual<T>(left: unknown, right: T): left is T;
|
|
27
|
-
/**
|
|
99
|
+
/**
|
|
100
|
+
* Are two unknown values not shallowly equal?
|
|
101
|
+
*
|
|
102
|
+
* @param left The value to check and narrow.
|
|
103
|
+
* @param right The value to compare against.
|
|
104
|
+
* @returns `true` if the values are not shallowly equal.
|
|
105
|
+
* @example notShallowEqual({ a: 1 }, { a: 2 }) // true
|
|
106
|
+
* @see https://dhoulb.github.io/shelving/util/equal/notShallowEqual
|
|
107
|
+
*/
|
|
28
108
|
export declare function notShallowEqual<T>(left: unknown, right: T): left is T;
|
|
29
109
|
/**
|
|
30
110
|
* Are two unknown values deeply equal?
|
|
31
111
|
* - If the values are both arrays/objects, see if the items/properties are **deeply** equal with each other.
|
|
112
|
+
*
|
|
113
|
+
* @param left The value to check and narrow.
|
|
114
|
+
* @param right The value to compare against.
|
|
115
|
+
* @returns `true` if the values are deeply equal.
|
|
116
|
+
* @example isDeepEqual({ a: { b: 1 } }, { a: { b: 1 } }) // true
|
|
117
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isDeepEqual
|
|
32
118
|
*/
|
|
33
119
|
export declare function isDeepEqual<T>(left: unknown, right: T): left is T;
|
|
34
|
-
/**
|
|
120
|
+
/**
|
|
121
|
+
* Are two unknown values not deeply equal?
|
|
122
|
+
*
|
|
123
|
+
* @param left The value to check and narrow.
|
|
124
|
+
* @param right The value to compare against.
|
|
125
|
+
* @returns `true` if the values are not deeply equal.
|
|
126
|
+
* @example notDeepEqual({ a: { b: 1 } }, { a: { b: 2 } }) // true
|
|
127
|
+
* @see https://dhoulb.github.io/shelving/util/equal/notDeepEqual
|
|
128
|
+
*/
|
|
35
129
|
export declare function notDeepEqual<T>(left: unknown, right: T): left is T;
|
|
36
130
|
/**
|
|
37
|
-
* Are two maps equal
|
|
131
|
+
* Are two maps equal based on their items?
|
|
132
|
+
*
|
|
133
|
+
* @param left The map to check and narrow.
|
|
134
|
+
* @param right The map to compare against.
|
|
135
|
+
* @param recursor Function that checks each value of the map (defaults to `isEqual` for strict equality; pass `isDeepEqual` for deep equality).
|
|
136
|
+
* @returns `true` if both maps have the same keys and matching values.
|
|
137
|
+
* @example isMapEqual(new Map([["a", 1]]), new Map([["a", 1]])) // true
|
|
138
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isMapEqual
|
|
38
139
|
*/
|
|
39
140
|
export declare function isMapEqual<T extends ImmutableMap>(left: ImmutableMap, right: T, recursor?: Match): left is T;
|
|
40
141
|
/**
|
|
41
142
|
* Are two arrays equal based on their items?
|
|
42
143
|
*
|
|
144
|
+
* @param left The array to check and narrow.
|
|
145
|
+
* @param right The array to compare against.
|
|
43
146
|
* @param recursor Function that checks each item of the array.
|
|
44
147
|
* - Defaults to `isEqual()` to check strict equality of the items.
|
|
45
148
|
* - Use `isDeepEqual()` as the recursor to check to check deep equality of the items.
|
|
149
|
+
* @returns `true` if both arrays have the same length and matching items.
|
|
150
|
+
* @example isArrayEqual([1, 2], [1, 2]) // true
|
|
151
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isArrayEqual
|
|
46
152
|
*/
|
|
47
153
|
export declare function isArrayEqual<T extends ImmutableArray>(left: ImmutableArray, right: T, recursor?: Match): left is T;
|
|
48
|
-
/**
|
|
154
|
+
/**
|
|
155
|
+
* Is unknown value `left` in array `right`?
|
|
156
|
+
*
|
|
157
|
+
* @param left The value to look for and narrow.
|
|
158
|
+
* @param right The array to search within.
|
|
159
|
+
* @returns `true` if `left` is an item of `right`.
|
|
160
|
+
* @example isInArray(2, [1, 2, 3]) // true
|
|
161
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isInArray
|
|
162
|
+
*/
|
|
49
163
|
export declare function isInArray<R>(left: unknown, right: ImmutableArray<R>): left is R;
|
|
50
|
-
/**
|
|
164
|
+
/**
|
|
165
|
+
* Is unknown value `left` not in array `right`?
|
|
166
|
+
*
|
|
167
|
+
* @param left The value to look for.
|
|
168
|
+
* @param right The array to search within.
|
|
169
|
+
* @returns `true` if `left` is not an item of `right`.
|
|
170
|
+
* @example notInArray(9, [1, 2, 3]) // true
|
|
171
|
+
* @see https://dhoulb.github.io/shelving/util/equal/notInArray
|
|
172
|
+
*/
|
|
51
173
|
export declare function notInArray(left: unknown, right: ImmutableArray): boolean;
|
|
52
|
-
/**
|
|
174
|
+
/**
|
|
175
|
+
* Is unknown value `left` an array that includes `right`?
|
|
176
|
+
*
|
|
177
|
+
* @param left The value to check and narrow.
|
|
178
|
+
* @param right The item the array must include.
|
|
179
|
+
* @returns `true` if `left` is an array containing `right`.
|
|
180
|
+
* @example isArrayWith([1, 2, 3], 2) // true
|
|
181
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isArrayWith
|
|
182
|
+
*/
|
|
53
183
|
export declare function isArrayWith<T>(left: unknown, right: T): left is ImmutableArray<T>;
|
|
54
|
-
/**
|
|
184
|
+
/**
|
|
185
|
+
* Is unknown value `left` not an array, or an array that does not include `right`?
|
|
186
|
+
*
|
|
187
|
+
* @param left The value to check.
|
|
188
|
+
* @param right The item the array must include.
|
|
189
|
+
* @returns `true` if `left` is not an array or does not include `right`.
|
|
190
|
+
* @example notArrayWith([1, 2, 3], 9) // true
|
|
191
|
+
* @see https://dhoulb.github.io/shelving/util/equal/notArrayWith
|
|
192
|
+
*/
|
|
55
193
|
export declare function notArrayWith(left: unknown, right: unknown): boolean;
|
|
56
194
|
/**
|
|
57
195
|
* Are two objects equal based on their own props?
|
|
58
196
|
* - `left` must have every property present in `right`
|
|
59
197
|
* - `left` must not have excess properties not present in `right`
|
|
60
198
|
*
|
|
199
|
+
* @param left The object to check and narrow.
|
|
200
|
+
* @param right The object to compare against.
|
|
61
201
|
* @param recursor Function that checks each prop of the object.
|
|
62
202
|
* - Defaults to `isEqual()` to check strict equality of the properties.
|
|
63
203
|
* - Use `isDeepEqual()` as the recursor to check to check deep equality of the properties.
|
|
204
|
+
* @returns `true` if both objects have exactly the same own props and matching values.
|
|
205
|
+
* @example isObjectEqual({ a: 1 }, { a: 1 }) // true
|
|
206
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isObjectEqual
|
|
64
207
|
*/
|
|
65
208
|
export declare function isObjectEqual<T extends ImmutableObject>(left: ImmutableObject, right: T, recursor?: Match): left is T;
|
|
66
209
|
/**
|
|
@@ -68,12 +211,33 @@ export declare function isObjectEqual<T extends ImmutableObject>(left: Immutable
|
|
|
68
211
|
* - `left` must have every property present in `right`
|
|
69
212
|
* - `left` may have have excess properties not present in `right`
|
|
70
213
|
*
|
|
214
|
+
* @param left The object to check and narrow.
|
|
215
|
+
* @param right The object whose props `left` must contain.
|
|
71
216
|
* @param recursor Function that checks each prop of the object.
|
|
72
217
|
* - Defaults to `isEqual()` to check strict equality of the properties.
|
|
73
218
|
* - Use `isDeepEqual()` as the recursor to check to check deep equality of the properties.
|
|
219
|
+
* @returns `true` if `left` contains every prop of `right` with matching values.
|
|
220
|
+
* @example isObjectMatch({ a: 1, b: 2 }, { a: 1 }) // true
|
|
221
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isObjectMatch
|
|
74
222
|
*/
|
|
75
223
|
export declare function isObjectMatch<L extends ImmutableObject, R extends ImmutableObject>(left: L | R, right: R, recursor?: Match): left is L & R;
|
|
76
|
-
/**
|
|
224
|
+
/**
|
|
225
|
+
* Is unknown value `left` an object with every prop from `right`?
|
|
226
|
+
*
|
|
227
|
+
* @param left The value to check.
|
|
228
|
+
* @param right The object whose props `left` must contain.
|
|
229
|
+
* @returns `true` if `left` is an object containing every prop of `right`.
|
|
230
|
+
* @example isObjectWith({ a: 1, b: 2 }, { a: 1 }) // true
|
|
231
|
+
* @see https://dhoulb.github.io/shelving/util/equal/isObjectWith
|
|
232
|
+
*/
|
|
77
233
|
export declare function isObjectWith(left: unknown, right: ImmutableObject): boolean;
|
|
78
|
-
/**
|
|
234
|
+
/**
|
|
235
|
+
* Is unknown value `left` not an object or missing one or more props from `right`?
|
|
236
|
+
*
|
|
237
|
+
* @param left The value to check.
|
|
238
|
+
* @param right The object whose props `left` must contain.
|
|
239
|
+
* @returns `true` if `left` is not an object or is missing one or more props of `right`.
|
|
240
|
+
* @example notObjectWith({ a: 1 }, { b: 2 }) // true
|
|
241
|
+
* @see https://dhoulb.github.io/shelving/util/equal/notObjectWith
|
|
242
|
+
*/
|
|
79
243
|
export declare function notObjectWith(left: unknown, right: ImmutableObject): boolean;
|