@nascentdigital/funnel-core 4.4.4
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/dist/app/AppConfig.d.ts +41 -0
- package/dist/app/AppConfig.js +93 -0
- package/dist/app/BrandConfig.d.ts +13 -0
- package/dist/app/BrandConfig.js +2 -0
- package/dist/app/FeaturesConfig.d.ts +6 -0
- package/dist/app/FeaturesConfig.js +2 -0
- package/dist/app/RegionsConfig.d.ts +43 -0
- package/dist/app/RegionsConfig.js +113 -0
- package/dist/app/UIConfig.d.ts +4 -0
- package/dist/app/UIConfig.js +2 -0
- package/dist/app/index.d.ts +5 -0
- package/dist/app/index.js +21 -0
- package/dist/consent/ConsentCategory.d.ts +12 -0
- package/dist/consent/ConsentCategory.js +28 -0
- package/dist/consent/ConsentService.d.ts +15 -0
- package/dist/consent/ConsentService.js +37 -0
- package/dist/consent/index.d.ts +2 -0
- package/dist/consent/index.js +18 -0
- package/dist/errors/IsometricError.d.ts +19 -0
- package/dist/errors/IsometricError.js +30 -0
- package/dist/errors/IsometricErrorModule.d.ts +11 -0
- package/dist/errors/IsometricErrorModule.js +2 -0
- package/dist/errors/IsometricErrorUtils.d.ts +9 -0
- package/dist/errors/IsometricErrorUtils.js +85 -0
- package/dist/errors/SerializedIsometricError.d.ts +10 -0
- package/dist/errors/SerializedIsometricError.js +15 -0
- package/dist/errors/api/ApiError.d.ts +15 -0
- package/dist/errors/api/ApiError.js +23 -0
- package/dist/errors/api/ApiErrors.d.ts +7 -0
- package/dist/errors/api/ApiErrors.js +67 -0
- package/dist/errors/api/ArgumentError.d.ts +7 -0
- package/dist/errors/api/ArgumentError.js +18 -0
- package/dist/errors/api/ConcurrencyError.d.ts +4 -0
- package/dist/errors/api/ConcurrencyError.js +11 -0
- package/dist/errors/api/ConflictError.d.ts +4 -0
- package/dist/errors/api/ConflictError.js +11 -0
- package/dist/errors/api/DependencyError.d.ts +4 -0
- package/dist/errors/api/DependencyError.js +11 -0
- package/dist/errors/api/IllegalStateError.d.ts +4 -0
- package/dist/errors/api/IllegalStateError.js +11 -0
- package/dist/errors/api/InvalidOperationError.d.ts +4 -0
- package/dist/errors/api/InvalidOperationError.js +11 -0
- package/dist/errors/api/NotAuthenticatedError.d.ts +4 -0
- package/dist/errors/api/NotAuthenticatedError.js +11 -0
- package/dist/errors/api/NotAuthorizedError.d.ts +4 -0
- package/dist/errors/api/NotAuthorizedError.js +11 -0
- package/dist/errors/api/NotAvailableError.d.ts +4 -0
- package/dist/errors/api/NotAvailableError.js +11 -0
- package/dist/errors/api/NotFoundError.d.ts +4 -0
- package/dist/errors/api/NotFoundError.js +11 -0
- package/dist/errors/api/NotImplementedError.d.ts +4 -0
- package/dist/errors/api/NotImplementedError.js +11 -0
- package/dist/errors/api/OfflineError.d.ts +4 -0
- package/dist/errors/api/OfflineError.js +11 -0
- package/dist/errors/api/RangeError.d.ts +4 -0
- package/dist/errors/api/RangeError.js +11 -0
- package/dist/errors/api/ServerError.d.ts +4 -0
- package/dist/errors/api/ServerError.js +11 -0
- package/dist/errors/api/TimeoutError.d.ts +4 -0
- package/dist/errors/api/TimeoutError.js +11 -0
- package/dist/errors/api/index.d.ts +16 -0
- package/dist/errors/api/index.js +32 -0
- package/dist/errors/index.d.ts +5 -0
- package/dist/errors/index.js +26 -0
- package/dist/forms/FormModel.d.ts +47 -0
- package/dist/forms/FormModel.js +149 -0
- package/dist/forms/Forms.d.ts +15 -0
- package/dist/forms/Forms.js +35 -0
- package/dist/forms/IFormService.d.ts +6 -0
- package/dist/forms/IFormService.js +2 -0
- package/dist/forms/TranslateSchema.d.ts +8 -0
- package/dist/forms/TranslateSchema.js +2 -0
- package/dist/forms/index.d.ts +4 -0
- package/dist/forms/index.js +20 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.js +49 -0
- package/dist/regionalization/Country.d.ts +266 -0
- package/dist/regionalization/Country.js +338 -0
- package/dist/regionalization/Language.d.ts +199 -0
- package/dist/regionalization/Language.js +237 -0
- package/dist/regionalization/Locale.d.ts +28 -0
- package/dist/regionalization/Locale.js +49 -0
- package/dist/regionalization/Localized.d.ts +10 -0
- package/dist/regionalization/Localized.js +36 -0
- package/dist/regionalization/LocalizedCopy.d.ts +9 -0
- package/dist/regionalization/LocalizedCopy.js +26 -0
- package/dist/regionalization/Regionalization.d.ts +50 -0
- package/dist/regionalization/Regionalization.js +260 -0
- package/dist/regionalization/Regions.d.ts +2 -0
- package/dist/regionalization/Regions.js +2 -0
- package/dist/regionalization/index.d.ts +7 -0
- package/dist/regionalization/index.js +23 -0
- package/dist/schema/Asset.d.ts +23 -0
- package/dist/schema/Asset.js +36 -0
- package/dist/schema/AssetScope.d.ts +75 -0
- package/dist/schema/AssetScope.js +146 -0
- package/dist/schema/Block.d.ts +105 -0
- package/dist/schema/Block.js +122 -0
- package/dist/schema/ChangeSet.d.ts +108 -0
- package/dist/schema/ChangeSet.js +187 -0
- package/dist/schema/Collection.d.ts +197 -0
- package/dist/schema/Collection.js +165 -0
- package/dist/schema/CollectionModel.d.ts +30 -0
- package/dist/schema/CollectionModel.js +383 -0
- package/dist/schema/CollectionSnapshot.d.ts +11 -0
- package/dist/schema/CollectionSnapshot.js +12 -0
- package/dist/schema/Fields.d.ts +31 -0
- package/dist/schema/Fields.js +21 -0
- package/dist/schema/Form.d.ts +31 -0
- package/dist/schema/Form.js +23 -0
- package/dist/schema/LinkedCollectionModel.d.ts +9 -0
- package/dist/schema/LinkedCollectionModel.js +19 -0
- package/dist/schema/LinkedData.d.ts +44 -0
- package/dist/schema/LinkedData.js +288 -0
- package/dist/schema/LinkedPageModel.d.ts +11 -0
- package/dist/schema/LinkedPageModel.js +26 -0
- package/dist/schema/Optional.d.ts +23 -0
- package/dist/schema/Optional.js +34 -0
- package/dist/schema/Page.d.ts +299 -0
- package/dist/schema/Page.js +244 -0
- package/dist/schema/PageModel.d.ts +58 -0
- package/dist/schema/PageModel.js +881 -0
- package/dist/schema/PageQuery.d.ts +60 -0
- package/dist/schema/PageQuery.js +116 -0
- package/dist/schema/PageRoute.d.ts +7 -0
- package/dist/schema/PageRoute.js +48 -0
- package/dist/schema/PageSnapshot.d.ts +11 -0
- package/dist/schema/PageSnapshot.js +12 -0
- package/dist/schema/Section.d.ts +71 -0
- package/dist/schema/Section.js +35 -0
- package/dist/schema/Seo.d.ts +13 -0
- package/dist/schema/Seo.js +25 -0
- package/dist/schema/Site.d.ts +40 -0
- package/dist/schema/Site.js +87 -0
- package/dist/schema/SiteModel.d.ts +5 -0
- package/dist/schema/SiteModel.js +10 -0
- package/dist/schema/Tag.d.ts +28 -0
- package/dist/schema/Tag.js +59 -0
- package/dist/schema/TagGroup.d.ts +26 -0
- package/dist/schema/TagGroup.js +64 -0
- package/dist/schema/field/Field.d.ts +179 -0
- package/dist/schema/field/Field.js +309 -0
- package/dist/schema/field/base/AssetField.d.ts +148 -0
- package/dist/schema/field/base/AssetField.js +206 -0
- package/dist/schema/field/base/BooleanField.d.ts +21 -0
- package/dist/schema/field/base/BooleanField.js +38 -0
- package/dist/schema/field/base/CollectionField.d.ts +34 -0
- package/dist/schema/field/base/CollectionField.js +85 -0
- package/dist/schema/field/base/DateField.d.ts +21 -0
- package/dist/schema/field/base/DateField.js +37 -0
- package/dist/schema/field/base/DynamicPagesField.d.ts +36 -0
- package/dist/schema/field/base/DynamicPagesField.js +50 -0
- package/dist/schema/field/base/EmbeddedVideoField.d.ts +45 -0
- package/dist/schema/field/base/EmbeddedVideoField.js +176 -0
- package/dist/schema/field/base/EnumField.d.ts +40 -0
- package/dist/schema/field/base/EnumField.js +131 -0
- package/dist/schema/field/base/FormField.d.ts +25 -0
- package/dist/schema/field/base/FormField.js +48 -0
- package/dist/schema/field/base/LinkField.d.ts +103 -0
- package/dist/schema/field/base/LinkField.js +201 -0
- package/dist/schema/field/base/PageField.d.ts +46 -0
- package/dist/schema/field/base/PageField.js +83 -0
- package/dist/schema/field/base/RichTextField.d.ts +71 -0
- package/dist/schema/field/base/RichTextField.js +196 -0
- package/dist/schema/field/base/TextField.d.ts +33 -0
- package/dist/schema/field/base/TextField.js +86 -0
- package/dist/schema/field/base/TimestampField.d.ts +25 -0
- package/dist/schema/field/base/TimestampField.js +41 -0
- package/dist/schema/field/base/index.d.ts +13 -0
- package/dist/schema/field/base/index.js +29 -0
- package/dist/schema/field/composite/ListField.d.ts +47 -0
- package/dist/schema/field/composite/ListField.js +107 -0
- package/dist/schema/field/composite/ObjectField.d.ts +56 -0
- package/dist/schema/field/composite/ObjectField.js +19 -0
- package/dist/schema/field/composite/index.d.ts +2 -0
- package/dist/schema/field/composite/index.js +18 -0
- package/dist/schema/field/index.d.ts +3 -0
- package/dist/schema/field/index.js +19 -0
- package/dist/schema/index.d.ts +25 -0
- package/dist/schema/index.js +41 -0
- package/dist/services/EventBus.d.ts +17 -0
- package/dist/services/EventBus.js +37 -0
- package/dist/services/humanVerification/IHumanVerification.d.ts +8 -0
- package/dist/services/humanVerification/IHumanVerification.js +2 -0
- package/dist/services/humanVerification/index.d.ts +1 -0
- package/dist/services/humanVerification/index.js +17 -0
- package/dist/services/index.d.ts +3 -0
- package/dist/services/index.js +19 -0
- package/dist/services/leadGen/Contact.d.ts +40 -0
- package/dist/services/leadGen/Contact.js +38 -0
- package/dist/services/leadGen/ILeadGen.d.ts +16 -0
- package/dist/services/leadGen/ILeadGen.js +2 -0
- package/dist/services/leadGen/index.d.ts +2 -0
- package/dist/services/leadGen/index.js +18 -0
- package/dist/types/BoxedValue.d.ts +3 -0
- package/dist/types/BoxedValue.js +2 -0
- package/dist/types/Callback.d.ts +9 -0
- package/dist/types/Callback.js +2 -0
- package/dist/types/DateString.d.ts +35 -0
- package/dist/types/DateString.js +172 -0
- package/dist/types/FilterConditionally.d.ts +3 -0
- package/dist/types/FilterConditionally.js +2 -0
- package/dist/types/MaybeConditionalValue.d.ts +8 -0
- package/dist/types/MaybeConditionalValue.js +12 -0
- package/dist/types/Ordinal.d.ts +17 -0
- package/dist/types/Ordinal.js +38 -0
- package/dist/types/OverridableStringUnion.d.ts +2 -0
- package/dist/types/OverridableStringUnion.js +2 -0
- package/dist/types/PartialBy.d.ts +1 -0
- package/dist/types/PartialBy.js +2 -0
- package/dist/types/PickData.d.ts +6 -0
- package/dist/types/PickData.js +2 -0
- package/dist/types/Provider.d.ts +4 -0
- package/dist/types/Provider.js +2 -0
- package/dist/types/RequiredBy.d.ts +1 -0
- package/dist/types/RequiredBy.js +2 -0
- package/dist/types/Result.d.ts +16 -0
- package/dist/types/Result.js +2 -0
- package/dist/types/Timestamp.d.ts +17 -0
- package/dist/types/Timestamp.js +57 -0
- package/dist/types/Transform.d.ts +4 -0
- package/dist/types/Transform.js +2 -0
- package/dist/types/index.d.ts +14 -0
- package/dist/types/index.js +30 -0
- package/dist/ui/Accessible.d.ts +5 -0
- package/dist/ui/Accessible.js +15 -0
- package/dist/ui/BlockThemes.d.ts +19 -0
- package/dist/ui/BlockThemes.js +29 -0
- package/dist/ui/ColorMode.d.ts +12 -0
- package/dist/ui/ColorMode.js +49 -0
- package/dist/ui/File.d.ts +43 -0
- package/dist/ui/File.js +55 -0
- package/dist/ui/FileType.d.ts +8 -0
- package/dist/ui/FileType.js +48 -0
- package/dist/ui/ImageSource.d.ts +12 -0
- package/dist/ui/ImageSource.js +48 -0
- package/dist/ui/MimeType.d.ts +28 -0
- package/dist/ui/MimeType.js +110 -0
- package/dist/ui/Placement.d.ts +21 -0
- package/dist/ui/Placement.js +135 -0
- package/dist/ui/Position.d.ts +6 -0
- package/dist/ui/Position.js +42 -0
- package/dist/ui/Selector.d.ts +6 -0
- package/dist/ui/Selector.js +23 -0
- package/dist/ui/SemanticColor.d.ts +8 -0
- package/dist/ui/SemanticColor.js +237 -0
- package/dist/ui/Visual.d.ts +24 -0
- package/dist/ui/Visual.js +66 -0
- package/dist/ui/block-layout/BlockLayout.d.ts +99 -0
- package/dist/ui/block-layout/BlockLayout.js +286 -0
- package/dist/ui/block-layout/index.d.ts +1 -0
- package/dist/ui/block-layout/index.js +17 -0
- package/dist/ui/browser/BlurHasher.d.ts +13 -0
- package/dist/ui/browser/BlurHasher.js +76 -0
- package/dist/ui/browser/Browser.d.ts +107 -0
- package/dist/ui/browser/Browser.js +313 -0
- package/dist/ui/browser/ImageProxy.d.ts +30 -0
- package/dist/ui/browser/ImageProxy.js +132 -0
- package/dist/ui/browser/InputEvent.d.ts +13 -0
- package/dist/ui/browser/InputEvent.js +2 -0
- package/dist/ui/browser/SVGProxy.d.ts +9 -0
- package/dist/ui/browser/SVGProxy.js +59 -0
- package/dist/ui/browser/VideoProxy.d.ts +42 -0
- package/dist/ui/browser/VideoProxy.js +235 -0
- package/dist/ui/browser/index.d.ts +6 -0
- package/dist/ui/browser/index.js +22 -0
- package/dist/ui/fields/Field.d.ts +80 -0
- package/dist/ui/fields/Field.js +298 -0
- package/dist/ui/fields/FieldList.d.ts +80 -0
- package/dist/ui/fields/FieldList.js +421 -0
- package/dist/ui/fields/FieldListValidator.d.ts +9 -0
- package/dist/ui/fields/FieldListValidator.js +37 -0
- package/dist/ui/fields/FieldModel.d.ts +15 -0
- package/dist/ui/fields/FieldModel.js +28 -0
- package/dist/ui/fields/FieldSerializer.d.ts +13 -0
- package/dist/ui/fields/FieldSerializer.js +71 -0
- package/dist/ui/fields/FieldValidator.d.ts +19 -0
- package/dist/ui/fields/FieldValidator.js +98 -0
- package/dist/ui/fields/ObjectField.d.ts +75 -0
- package/dist/ui/fields/ObjectField.js +288 -0
- package/dist/ui/fields/errors.json +44 -0
- package/dist/ui/fields/index.d.ts +7 -0
- package/dist/ui/fields/index.js +23 -0
- package/dist/ui/fields/validators/AssetValidator.d.ts +9 -0
- package/dist/ui/fields/validators/AssetValidator.js +25 -0
- package/dist/ui/fields/validators/DateValidator.d.ts +9 -0
- package/dist/ui/fields/validators/DateValidator.js +41 -0
- package/dist/ui/fields/validators/EnumValidator.d.ts +10 -0
- package/dist/ui/fields/validators/EnumValidator.js +77 -0
- package/dist/ui/fields/validators/GenericValidator.d.ts +6 -0
- package/dist/ui/fields/validators/GenericValidator.js +22 -0
- package/dist/ui/fields/validators/LinkValidator.d.ts +9 -0
- package/dist/ui/fields/validators/LinkValidator.js +146 -0
- package/dist/ui/fields/validators/RichTextValidator.d.ts +6 -0
- package/dist/ui/fields/validators/RichTextValidator.js +35 -0
- package/dist/ui/fields/validators/TextValidator.d.ts +10 -0
- package/dist/ui/fields/validators/TextValidator.js +138 -0
- package/dist/ui/fields/validators/TimestampValidator.d.ts +9 -0
- package/dist/ui/fields/validators/TimestampValidator.js +41 -0
- package/dist/ui/fields/validators/ValidatorHelper.d.ts +23 -0
- package/dist/ui/fields/validators/ValidatorHelper.js +55 -0
- package/dist/ui/fields/validators/index.d.ts +8 -0
- package/dist/ui/fields/validators/index.js +24 -0
- package/dist/ui/geometry/AspectRatio.d.ts +27 -0
- package/dist/ui/geometry/AspectRatio.js +77 -0
- package/dist/ui/geometry/Bounds.d.ts +4 -0
- package/dist/ui/geometry/Bounds.js +11 -0
- package/dist/ui/geometry/Frame.d.ts +3 -0
- package/dist/ui/geometry/Frame.js +2 -0
- package/dist/ui/geometry/Insets.d.ts +14 -0
- package/dist/ui/geometry/Insets.js +14 -0
- package/dist/ui/geometry/PixelSize.d.ts +1 -0
- package/dist/ui/geometry/PixelSize.js +2 -0
- package/dist/ui/geometry/Point.d.ts +7 -0
- package/dist/ui/geometry/Point.js +15 -0
- package/dist/ui/geometry/Rect.d.ts +19 -0
- package/dist/ui/geometry/Rect.js +68 -0
- package/dist/ui/geometry/ScreenSize.d.ts +1 -0
- package/dist/ui/geometry/ScreenSize.js +2 -0
- package/dist/ui/geometry/Size.d.ts +7 -0
- package/dist/ui/geometry/Size.js +9 -0
- package/dist/ui/geometry/index.d.ts +9 -0
- package/dist/ui/geometry/index.js +25 -0
- package/dist/ui/index.d.ts +18 -0
- package/dist/ui/index.js +34 -0
- package/dist/ui/responsive/Breakpoint.d.ts +8 -0
- package/dist/ui/responsive/Breakpoint.js +24 -0
- package/dist/ui/responsive/BreakpointObserver.d.ts +16 -0
- package/dist/ui/responsive/BreakpointObserver.js +104 -0
- package/dist/ui/responsive/Breakpoints.d.ts +5 -0
- package/dist/ui/responsive/Breakpoints.js +15 -0
- package/dist/ui/responsive/ResponsiveValue.d.ts +7 -0
- package/dist/ui/responsive/ResponsiveValue.js +26 -0
- package/dist/ui/responsive/index.d.ts +4 -0
- package/dist/ui/responsive/index.js +20 -0
- package/dist/ui/richtext/LexicalUtils.d.ts +31 -0
- package/dist/ui/richtext/LexicalUtils.js +314 -0
- package/dist/ui/richtext/StyledTextNode.d.ts +33 -0
- package/dist/ui/richtext/StyledTextNode.js +101 -0
- package/dist/ui/richtext/index.d.ts +2 -0
- package/dist/ui/richtext/index.js +18 -0
- package/dist/utils/ArrayUtils.d.ts +17 -0
- package/dist/utils/ArrayUtils.js +66 -0
- package/dist/utils/ByteSize.d.ts +19 -0
- package/dist/utils/ByteSize.js +33 -0
- package/dist/utils/DateUtils.d.ts +15 -0
- package/dist/utils/DateUtils.js +100 -0
- package/dist/utils/Deferral.d.ts +28 -0
- package/dist/utils/Deferral.js +107 -0
- package/dist/utils/Duration.d.ts +7 -0
- package/dist/utils/Duration.js +35 -0
- package/dist/utils/Fn.d.ts +14 -0
- package/dist/utils/Fn.js +52 -0
- package/dist/utils/ObjectUtils.d.ts +89 -0
- package/dist/utils/ObjectUtils.js +159 -0
- package/dist/utils/Random.d.ts +15 -0
- package/dist/utils/Random.js +72 -0
- package/dist/utils/StringUtils.d.ts +10 -0
- package/dist/utils/StringUtils.js +51 -0
- package/dist/utils/UrlUtils.d.ts +22 -0
- package/dist/utils/UrlUtils.js +119 -0
- package/dist/utils/Value.d.ts +23 -0
- package/dist/utils/Value.js +122 -0
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.js +28 -0
- package/dist/utils/isDefined.d.ts +1 -0
- package/dist/utils/isDefined.js +6 -0
- package/package.json +64 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./EventBus"), exports);
|
|
18
|
+
__exportStar(require("./humanVerification"), exports);
|
|
19
|
+
__exportStar(require("./leadGen"), exports);
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
export type Contact<TUserData extends Contact.UserData = Contact.UserData, TTags extends Contact.Tags = Contact.Tags> = Contact.Basic<TUserData>;
|
|
2
|
+
export declare namespace Contact {
|
|
3
|
+
type Base<TUserData extends UserData, TTags extends Tags> = {
|
|
4
|
+
name: Contact.Name;
|
|
5
|
+
email: string;
|
|
6
|
+
phone?: Contact.Phone;
|
|
7
|
+
userData: TUserData;
|
|
8
|
+
tags?: TTags;
|
|
9
|
+
};
|
|
10
|
+
export type Basic<TUserData extends UserData = UserData, TTags extends Tags = Tags> = Base<TUserData, TTags> & {
|
|
11
|
+
__type: 'basic';
|
|
12
|
+
};
|
|
13
|
+
export namespace Basic {
|
|
14
|
+
function filter(contact: Contact): contact is Basic;
|
|
15
|
+
}
|
|
16
|
+
export type UserData = Record<string, string | number>;
|
|
17
|
+
export type Tags = string[];
|
|
18
|
+
export type Phone = Phone.Single | Phone.Multiple;
|
|
19
|
+
export namespace Phone {
|
|
20
|
+
type Single = string;
|
|
21
|
+
type Multiple = {
|
|
22
|
+
primary: string;
|
|
23
|
+
mobile?: string;
|
|
24
|
+
work?: string;
|
|
25
|
+
};
|
|
26
|
+
function isSingle(phone: Phone): phone is Single;
|
|
27
|
+
function isMultiple(phone: Phone): phone is Multiple;
|
|
28
|
+
}
|
|
29
|
+
export type Name = Name.Full | Name.Split;
|
|
30
|
+
export namespace Name {
|
|
31
|
+
type Full = string;
|
|
32
|
+
type Split = {
|
|
33
|
+
firstName: string;
|
|
34
|
+
lastName: string;
|
|
35
|
+
};
|
|
36
|
+
function isFull(name: Name): name is Full;
|
|
37
|
+
function isSplit(name: Name): name is Split;
|
|
38
|
+
}
|
|
39
|
+
export {};
|
|
40
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Contact = void 0;
|
|
4
|
+
// extension
|
|
5
|
+
var Contact;
|
|
6
|
+
(function (Contact) {
|
|
7
|
+
let Basic;
|
|
8
|
+
(function (Basic) {
|
|
9
|
+
function filter(contact) {
|
|
10
|
+
return contact.__type === 'basic';
|
|
11
|
+
}
|
|
12
|
+
Basic.filter = filter;
|
|
13
|
+
})(Basic = Contact.Basic || (Contact.Basic = {}));
|
|
14
|
+
let Phone;
|
|
15
|
+
(function (Phone) {
|
|
16
|
+
// guard
|
|
17
|
+
function isSingle(phone) {
|
|
18
|
+
return typeof phone === 'string';
|
|
19
|
+
}
|
|
20
|
+
Phone.isSingle = isSingle;
|
|
21
|
+
function isMultiple(phone) {
|
|
22
|
+
return typeof phone === 'object';
|
|
23
|
+
}
|
|
24
|
+
Phone.isMultiple = isMultiple;
|
|
25
|
+
})(Phone = Contact.Phone || (Contact.Phone = {}));
|
|
26
|
+
let Name;
|
|
27
|
+
(function (Name) {
|
|
28
|
+
// guard
|
|
29
|
+
function isFull(name) {
|
|
30
|
+
return typeof name === 'string';
|
|
31
|
+
}
|
|
32
|
+
Name.isFull = isFull;
|
|
33
|
+
function isSplit(name) {
|
|
34
|
+
return typeof name === 'object';
|
|
35
|
+
}
|
|
36
|
+
Name.isSplit = isSplit;
|
|
37
|
+
})(Name = Contact.Name || (Contact.Name = {}));
|
|
38
|
+
})(Contact || (exports.Contact = Contact = {}));
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Contact } from './Contact';
|
|
2
|
+
export interface ILeadGen {
|
|
3
|
+
captureEmail(args: any): Promise<void>;
|
|
4
|
+
captureContact(args: ILeadGen.CaptureContactArgs): Promise<ILeadGen.CaptureContactResponse>;
|
|
5
|
+
captureLead(args: any): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
export declare namespace ILeadGen {
|
|
8
|
+
type CaptureContactArgs<TUserData extends Contact.UserData = Contact.UserData, TTags extends Contact.Tags = Contact.Tags> = {
|
|
9
|
+
contact: Contact<TUserData, TTags>;
|
|
10
|
+
verificationToken: string;
|
|
11
|
+
};
|
|
12
|
+
type CaptureContactResponse<TResponse extends object = object> = TResponse;
|
|
13
|
+
type Config = {
|
|
14
|
+
provider: ILeadGen;
|
|
15
|
+
};
|
|
16
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Contact"), exports);
|
|
18
|
+
__exportStar(require("./ILeadGen"), exports);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Callback<TIn> = (input: TIn) => void;
|
|
2
|
+
export declare namespace Callback {
|
|
3
|
+
type Never = () => never;
|
|
4
|
+
type Void = () => void;
|
|
5
|
+
type Async<TIn> = (input: TIn) => Promise<void>;
|
|
6
|
+
type AsyncVoid = () => Promise<void>;
|
|
7
|
+
type Continuation = (proceed: Void) => void;
|
|
8
|
+
type AsyncContinuation = (proceed: Void) => Promise<void>;
|
|
9
|
+
}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export type DateString = `${DateString.Year}-${DateString.Month}-${DateString.Day}`;
|
|
2
|
+
export declare namespace DateString {
|
|
3
|
+
type Digit = '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9';
|
|
4
|
+
type Year = `${number}`;
|
|
5
|
+
type Month = `0${Exclude<Digit, '0'>}` | '10' | '11' | '12';
|
|
6
|
+
type Day = `0${Exclude<Digit, '0'>}` | `${1 | 2}${Digit}` | '30' | '31';
|
|
7
|
+
type FormatVariant = 'iso' | 'month-scoped' | 'full';
|
|
8
|
+
const FORMAT = "yyyy-MM-dd";
|
|
9
|
+
function filter(value: string | Date | undefined): value is DateString;
|
|
10
|
+
function ensure(value: string): DateString;
|
|
11
|
+
function coerce(value: string | null | undefined): DateString | undefined;
|
|
12
|
+
function coerceToDate(value: string | null | undefined, zone?: string): Date | undefined;
|
|
13
|
+
function today(): DateString;
|
|
14
|
+
function fromDate(date: Date): DateString;
|
|
15
|
+
function yearStart(year?: number): DateString;
|
|
16
|
+
function yearEnd(year?: number): DateString;
|
|
17
|
+
function getYear(value: DateString): number;
|
|
18
|
+
function getMonth(value: DateString): number;
|
|
19
|
+
function toDate(date: DateString, zone?: string): Date;
|
|
20
|
+
function format(value: DateString, variant?: FormatVariant): string;
|
|
21
|
+
function isBefore(thisDate: DateString, thatDate: DateString): boolean;
|
|
22
|
+
function isAfter(thisDate: DateString, thatDate: DateString): boolean;
|
|
23
|
+
function min(thisDate: DateString, thatDate: DateString): DateString;
|
|
24
|
+
function max(thisDate: DateString, thatDate: DateString): DateString;
|
|
25
|
+
function addDays(value: DateString, days: number): DateString;
|
|
26
|
+
function addMonths(value: DateString, months: number): DateString;
|
|
27
|
+
function addYears(value: DateString, years: number): DateString;
|
|
28
|
+
function subDays(value: DateString, days: number): DateString;
|
|
29
|
+
function subMonths(value: DateString, months: number): DateString;
|
|
30
|
+
function subYears(value: DateString, years: number): DateString;
|
|
31
|
+
function compareAsc(lhs: DateString, rhs: DateString): number;
|
|
32
|
+
function compareDesc(lhs: DateString, rhs: DateString): number;
|
|
33
|
+
function getNetWorkDays(startDate: DateString, endDate: DateString): number;
|
|
34
|
+
function getNetDays(startDate: DateString, endDate: DateString): number;
|
|
35
|
+
}
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DateString = void 0;
|
|
4
|
+
const errors_1 = require("../errors");
|
|
5
|
+
const date_fns_1 = require("date-fns");
|
|
6
|
+
const date_fns_tz_1 = require("date-fns-tz");
|
|
7
|
+
// extensions
|
|
8
|
+
var DateString;
|
|
9
|
+
(function (DateString) {
|
|
10
|
+
// constants
|
|
11
|
+
const REGEX = /([1-3]\d{3})-((0[1-9])|(1[0-2]))-((0[1-9])|([1-2]\d)|(3[0-1]))/;
|
|
12
|
+
DateString.FORMAT = 'yyyy-MM-dd';
|
|
13
|
+
// methods
|
|
14
|
+
function filter(value) {
|
|
15
|
+
return typeof value === 'string' && REGEX.test(value);
|
|
16
|
+
}
|
|
17
|
+
DateString.filter = filter;
|
|
18
|
+
function ensure(value) {
|
|
19
|
+
if (!filter(value)) {
|
|
20
|
+
throw new errors_1.ArgumentError(`Invalid date format "${value}" - expected "yyyy-MM-dd"`);
|
|
21
|
+
}
|
|
22
|
+
return value;
|
|
23
|
+
}
|
|
24
|
+
DateString.ensure = ensure;
|
|
25
|
+
function coerce(value) {
|
|
26
|
+
return value && filter(value)
|
|
27
|
+
? value
|
|
28
|
+
: undefined;
|
|
29
|
+
}
|
|
30
|
+
DateString.coerce = coerce;
|
|
31
|
+
function coerceToDate(value, zone = 'America/Toronto') {
|
|
32
|
+
// skip if it's not a valid date string
|
|
33
|
+
if (!value || !filter(value)) {
|
|
34
|
+
return undefined;
|
|
35
|
+
}
|
|
36
|
+
// otherwise, parse date
|
|
37
|
+
else {
|
|
38
|
+
return toDate(value);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
DateString.coerceToDate = coerceToDate;
|
|
42
|
+
function today() {
|
|
43
|
+
return fromDate(new Date());
|
|
44
|
+
}
|
|
45
|
+
DateString.today = today;
|
|
46
|
+
function fromDate(date) {
|
|
47
|
+
return (0, date_fns_1.format)(date, DateString.FORMAT);
|
|
48
|
+
}
|
|
49
|
+
DateString.fromDate = fromDate;
|
|
50
|
+
function yearStart(year) {
|
|
51
|
+
const date = year
|
|
52
|
+
? new Date(year, 0, 1)
|
|
53
|
+
: (0, date_fns_1.startOfYear)(new Date());
|
|
54
|
+
return fromDate(date);
|
|
55
|
+
}
|
|
56
|
+
DateString.yearStart = yearStart;
|
|
57
|
+
function yearEnd(year) {
|
|
58
|
+
const date = year
|
|
59
|
+
? new Date(year, 11, 31)
|
|
60
|
+
: (0, date_fns_1.endOfYear)(new Date());
|
|
61
|
+
return fromDate(date);
|
|
62
|
+
}
|
|
63
|
+
DateString.yearEnd = yearEnd;
|
|
64
|
+
function getYear(value) {
|
|
65
|
+
return Number.parseInt(value.substring(0, 4));
|
|
66
|
+
}
|
|
67
|
+
DateString.getYear = getYear;
|
|
68
|
+
function getMonth(value) {
|
|
69
|
+
return Number.parseInt(value.substring(5, 7));
|
|
70
|
+
}
|
|
71
|
+
DateString.getMonth = getMonth;
|
|
72
|
+
function toDate(date, zone = 'America/Toronto') {
|
|
73
|
+
return new Date((0, date_fns_tz_1.fromZonedTime)(date, zone));
|
|
74
|
+
}
|
|
75
|
+
DateString.toDate = toDate;
|
|
76
|
+
function format(value, variant = 'iso') {
|
|
77
|
+
switch (variant) {
|
|
78
|
+
case 'month-scoped':
|
|
79
|
+
return (0, date_fns_1.format)(toDate(value), 'MMM d');
|
|
80
|
+
case 'full':
|
|
81
|
+
return (0, date_fns_1.format)(toDate(value), 'MMM d, yyyy');
|
|
82
|
+
default:
|
|
83
|
+
return value;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
DateString.format = format;
|
|
87
|
+
function isBefore(thisDate, thatDate) {
|
|
88
|
+
return compareAsc(thisDate, thatDate) < 0;
|
|
89
|
+
}
|
|
90
|
+
DateString.isBefore = isBefore;
|
|
91
|
+
function isAfter(thisDate, thatDate) {
|
|
92
|
+
return compareAsc(thisDate, thatDate) > 0;
|
|
93
|
+
}
|
|
94
|
+
DateString.isAfter = isAfter;
|
|
95
|
+
function min(thisDate, thatDate) {
|
|
96
|
+
return isBefore(thisDate, thatDate)
|
|
97
|
+
? thisDate
|
|
98
|
+
: thatDate;
|
|
99
|
+
}
|
|
100
|
+
DateString.min = min;
|
|
101
|
+
function max(thisDate, thatDate) {
|
|
102
|
+
return isAfter(thisDate, thatDate)
|
|
103
|
+
? thisDate
|
|
104
|
+
: thatDate;
|
|
105
|
+
}
|
|
106
|
+
DateString.max = max;
|
|
107
|
+
function addDays(value, days) {
|
|
108
|
+
// convert to date and add days
|
|
109
|
+
const date = toDate(value);
|
|
110
|
+
const nextDate = (0, date_fns_1.addDays)(date, days);
|
|
111
|
+
// return date string
|
|
112
|
+
return fromDate(nextDate);
|
|
113
|
+
}
|
|
114
|
+
DateString.addDays = addDays;
|
|
115
|
+
function addMonths(value, months) {
|
|
116
|
+
// convert to date and add days
|
|
117
|
+
const date = toDate(value);
|
|
118
|
+
const nextDate = (0, date_fns_1.addMonths)(date, months);
|
|
119
|
+
// return date string
|
|
120
|
+
return fromDate(nextDate);
|
|
121
|
+
}
|
|
122
|
+
DateString.addMonths = addMonths;
|
|
123
|
+
function addYears(value, years) {
|
|
124
|
+
// convert to date and add days
|
|
125
|
+
const date = toDate(value);
|
|
126
|
+
const nextDate = (0, date_fns_1.addYears)(date, years);
|
|
127
|
+
// return date string
|
|
128
|
+
return fromDate(nextDate);
|
|
129
|
+
}
|
|
130
|
+
DateString.addYears = addYears;
|
|
131
|
+
function subDays(value, days) {
|
|
132
|
+
// convert to date and subtract days
|
|
133
|
+
const date = toDate(value);
|
|
134
|
+
const prevDate = (0, date_fns_1.subDays)(date, days);
|
|
135
|
+
// return date string
|
|
136
|
+
return fromDate(prevDate);
|
|
137
|
+
}
|
|
138
|
+
DateString.subDays = subDays;
|
|
139
|
+
function subMonths(value, months) {
|
|
140
|
+
// convert to date and subtract months
|
|
141
|
+
const date = toDate(value);
|
|
142
|
+
const prevDate = (0, date_fns_1.subMonths)(date, months);
|
|
143
|
+
// return date string
|
|
144
|
+
return fromDate(prevDate);
|
|
145
|
+
}
|
|
146
|
+
DateString.subMonths = subMonths;
|
|
147
|
+
function subYears(value, years) {
|
|
148
|
+
// convert to date and subtract years
|
|
149
|
+
const date = toDate(value);
|
|
150
|
+
const prevDate = (0, date_fns_1.subMonths)(date, years);
|
|
151
|
+
// return date string
|
|
152
|
+
return fromDate(prevDate);
|
|
153
|
+
}
|
|
154
|
+
DateString.subYears = subYears;
|
|
155
|
+
function compareAsc(lhs, rhs) {
|
|
156
|
+
return lhs.localeCompare(rhs);
|
|
157
|
+
}
|
|
158
|
+
DateString.compareAsc = compareAsc;
|
|
159
|
+
function compareDesc(lhs, rhs) {
|
|
160
|
+
return compareAsc(lhs, rhs) * -1;
|
|
161
|
+
}
|
|
162
|
+
DateString.compareDesc = compareDesc;
|
|
163
|
+
/* Calculates the net work days including the startDate and the endDate */
|
|
164
|
+
function getNetWorkDays(startDate, endDate) {
|
|
165
|
+
return (0, date_fns_1.differenceInBusinessDays)((0, date_fns_1.addDays)(toDate(endDate), 1), toDate(startDate));
|
|
166
|
+
}
|
|
167
|
+
DateString.getNetWorkDays = getNetWorkDays;
|
|
168
|
+
function getNetDays(startDate, endDate) {
|
|
169
|
+
return (0, date_fns_1.differenceInDays)((0, date_fns_1.addDays)(toDate(endDate), 1), toDate(startDate));
|
|
170
|
+
}
|
|
171
|
+
DateString.getNetDays = getNetDays;
|
|
172
|
+
})(DateString || (exports.DateString = DateString = {}));
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export type MaybeConditionalValue<TCondition extends MaybeConditionalValue.Condition, TValue> = TValue | {
|
|
2
|
+
[K in TCondition]: TValue;
|
|
3
|
+
};
|
|
4
|
+
export declare namespace MaybeConditionalValue {
|
|
5
|
+
type Condition = string | number;
|
|
6
|
+
type ConditionalValues = any;
|
|
7
|
+
function isConditional<TCondition extends Condition, TValue>(maybeValue: MaybeConditionalValue<TCondition, TValue>): maybeValue is ConditionalValues;
|
|
8
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MaybeConditionalValue = void 0;
|
|
4
|
+
// extension
|
|
5
|
+
var MaybeConditionalValue;
|
|
6
|
+
(function (MaybeConditionalValue) {
|
|
7
|
+
// guard
|
|
8
|
+
function isConditional(maybeValue) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
MaybeConditionalValue.isConditional = isConditional;
|
|
12
|
+
})(MaybeConditionalValue || (exports.MaybeConditionalValue = MaybeConditionalValue = {}));
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { LexoRank } from 'lexorank';
|
|
2
|
+
import { Tagged } from 'type-fest';
|
|
3
|
+
export declare class Ordinal {
|
|
4
|
+
private readonly _rank;
|
|
5
|
+
constructor(rankOrOrder?: LexoRank | Ordinal.Id);
|
|
6
|
+
get order(): Ordinal.Id;
|
|
7
|
+
get prev(): Ordinal;
|
|
8
|
+
get next(): Ordinal;
|
|
9
|
+
between(ordinal: Ordinal): Ordinal;
|
|
10
|
+
compareTo(ordinal: Ordinal): number;
|
|
11
|
+
static from(rankOrOrder: LexoRank | Ordinal.Id): Ordinal;
|
|
12
|
+
static new(): Ordinal;
|
|
13
|
+
static compare(lhs: Ordinal, rhs: Ordinal): number;
|
|
14
|
+
}
|
|
15
|
+
export declare namespace Ordinal {
|
|
16
|
+
type Id = Tagged<string, 'Ordinal'>;
|
|
17
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Ordinal = void 0;
|
|
4
|
+
const lexorank_1 = require("lexorank");
|
|
5
|
+
// class
|
|
6
|
+
class Ordinal {
|
|
7
|
+
constructor(rankOrOrder) {
|
|
8
|
+
// initialize instance variables
|
|
9
|
+
this._rank = typeof rankOrOrder === 'string'
|
|
10
|
+
? lexorank_1.LexoRank.parse(rankOrOrder)
|
|
11
|
+
: rankOrOrder !== null && rankOrOrder !== void 0 ? rankOrOrder : lexorank_1.LexoRank.middle();
|
|
12
|
+
}
|
|
13
|
+
get order() {
|
|
14
|
+
return this._rank.toString();
|
|
15
|
+
}
|
|
16
|
+
get prev() {
|
|
17
|
+
return new Ordinal(this._rank.genPrev());
|
|
18
|
+
}
|
|
19
|
+
get next() {
|
|
20
|
+
return new Ordinal(this._rank.genNext());
|
|
21
|
+
}
|
|
22
|
+
between(ordinal) {
|
|
23
|
+
return new Ordinal(this._rank.between(ordinal._rank));
|
|
24
|
+
}
|
|
25
|
+
compareTo(ordinal) {
|
|
26
|
+
return this._rank.compareTo(ordinal._rank);
|
|
27
|
+
}
|
|
28
|
+
static from(rankOrOrder) {
|
|
29
|
+
return new Ordinal(rankOrOrder);
|
|
30
|
+
}
|
|
31
|
+
static new() {
|
|
32
|
+
return new Ordinal();
|
|
33
|
+
}
|
|
34
|
+
static compare(lhs, rhs) {
|
|
35
|
+
return lhs.compareTo(rhs);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
exports.Ordinal = Ordinal;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type PartialBy<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type RequiredBy<T, K extends keyof T> = Omit<T, K> & Required<Pick<T, K>>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { IsometricError } from '../errors';
|
|
2
|
+
export type Result<T = any> = Result.Pending | Result.Success<T> | Result.Failure;
|
|
3
|
+
export declare namespace Result {
|
|
4
|
+
type Pending = {
|
|
5
|
+
__type: 'pending';
|
|
6
|
+
};
|
|
7
|
+
type Success<T> = {
|
|
8
|
+
__type: 'success';
|
|
9
|
+
result: T;
|
|
10
|
+
};
|
|
11
|
+
type Failure = {
|
|
12
|
+
__type: 'failure';
|
|
13
|
+
error: IsometricError;
|
|
14
|
+
};
|
|
15
|
+
type Completion<T> = Success<T> | Failure;
|
|
16
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Tagged } from 'type-fest';
|
|
2
|
+
export type Timestamp = [Timestamp.TimeInMs, Timestamp.Timezone];
|
|
3
|
+
export declare namespace Timestamp {
|
|
4
|
+
type TimeInMs = number;
|
|
5
|
+
type Timezone = Tagged<string, 'funnel.Timestamp.Timezone'>;
|
|
6
|
+
namespace Timezone {
|
|
7
|
+
const fallback: Timezone;
|
|
8
|
+
}
|
|
9
|
+
type Hour = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23;
|
|
10
|
+
function filter(value: any): value is Timestamp;
|
|
11
|
+
function coerce(value: any): Timestamp | undefined;
|
|
12
|
+
function coerceToDate(value: any): Date | undefined;
|
|
13
|
+
function toDate(value: Timestamp): Date;
|
|
14
|
+
function fromDate(time: Date | number, timeZone: Timezone): Timestamp;
|
|
15
|
+
function isBefore(thisTimestamp: Timestamp, thatTimestamp: Timestamp): boolean;
|
|
16
|
+
function isAfter(thisTimestamp: Timestamp, thatTimestamp: Timestamp): boolean;
|
|
17
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Timestamp = void 0;
|
|
4
|
+
const date_fns_1 = require("date-fns");
|
|
5
|
+
const date_fns_tz_1 = require("date-fns-tz");
|
|
6
|
+
// extensions
|
|
7
|
+
var Timestamp;
|
|
8
|
+
(function (Timestamp) {
|
|
9
|
+
let Timezone;
|
|
10
|
+
(function (Timezone) {
|
|
11
|
+
Timezone.fallback = 'EST';
|
|
12
|
+
})(Timezone = Timestamp.Timezone || (Timestamp.Timezone = {}));
|
|
13
|
+
// methods
|
|
14
|
+
function filter(value) {
|
|
15
|
+
return Array.isArray(value)
|
|
16
|
+
&& value.length === 2
|
|
17
|
+
&& typeof value[0] === 'number'
|
|
18
|
+
&& typeof value[1] === 'string';
|
|
19
|
+
}
|
|
20
|
+
Timestamp.filter = filter;
|
|
21
|
+
function coerce(value) {
|
|
22
|
+
return filter(value) ? value : undefined;
|
|
23
|
+
}
|
|
24
|
+
Timestamp.coerce = coerce;
|
|
25
|
+
function coerceToDate(value) {
|
|
26
|
+
// skip if it's not a valid date string
|
|
27
|
+
if (!value || !filter(value)) {
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
// otherwise, parse date
|
|
31
|
+
else {
|
|
32
|
+
return toDate(value);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
Timestamp.coerceToDate = coerceToDate;
|
|
36
|
+
function toDate(value) {
|
|
37
|
+
const [time, timeZone] = value;
|
|
38
|
+
return (0, date_fns_tz_1.toZonedTime)(time, timeZone);
|
|
39
|
+
}
|
|
40
|
+
Timestamp.toDate = toDate;
|
|
41
|
+
function fromDate(time, timeZone) {
|
|
42
|
+
return [(0, date_fns_tz_1.fromZonedTime)(time, timeZone).getTime(), timeZone];
|
|
43
|
+
}
|
|
44
|
+
Timestamp.fromDate = fromDate;
|
|
45
|
+
function isBefore(thisTimestamp, thatTimestamp) {
|
|
46
|
+
const thisDate = toDate(thisTimestamp);
|
|
47
|
+
const thatDate = toDate(thatTimestamp);
|
|
48
|
+
return (0, date_fns_1.compareAsc)(thisDate, thatDate) < 0;
|
|
49
|
+
}
|
|
50
|
+
Timestamp.isBefore = isBefore;
|
|
51
|
+
function isAfter(thisTimestamp, thatTimestamp) {
|
|
52
|
+
const thisDate = toDate(thisTimestamp);
|
|
53
|
+
const thatDate = toDate(thatTimestamp);
|
|
54
|
+
return (0, date_fns_1.compareAsc)(thisDate, thatDate) > 0;
|
|
55
|
+
}
|
|
56
|
+
Timestamp.isAfter = isAfter;
|
|
57
|
+
})(Timestamp || (exports.Timestamp = Timestamp = {}));
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
export * from './BoxedValue';
|
|
2
|
+
export * from './Callback';
|
|
3
|
+
export * from './DateString';
|
|
4
|
+
export * from './FilterConditionally';
|
|
5
|
+
export * from './MaybeConditionalValue';
|
|
6
|
+
export * from './Ordinal';
|
|
7
|
+
export * from './OverridableStringUnion';
|
|
8
|
+
export * from './PartialBy';
|
|
9
|
+
export * from './PickData';
|
|
10
|
+
export * from './Provider';
|
|
11
|
+
export * from './RequiredBy';
|
|
12
|
+
export * from './Result';
|
|
13
|
+
export * from './Timestamp';
|
|
14
|
+
export * from './Transform';
|