@rvoh/dream 1.5.2 → 1.7.0
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/cjs/src/Dream.js +1 -10
- package/dist/cjs/src/helpers/areEqual.js +2 -1
- package/dist/cjs/src/helpers/cloneDeepSafe.js +2 -1
- package/dist/cjs/src/helpers/comparisonKey.js +2 -5
- package/dist/cjs/src/helpers/stringCasing.js +2 -1
- package/dist/cjs/src/index.js +4 -4
- package/dist/cjs/src/serializer/SerializerRenderer.js +2 -7
- package/dist/cjs/src/serializer/builders/DreamSerializerBuilder.js +0 -3
- package/dist/cjs/src/serializer/builders/ObjectSerializerBuilder.js +0 -3
- package/dist/cjs/src/serializer/helpers/isDreamSerializer.js +5 -2
- package/dist/cjs/src/serializer/helpers/serializerForAssociatedClass.js +2 -1
- package/dist/esm/src/Dream.js +1 -10
- package/dist/esm/src/helpers/areEqual.js +2 -1
- package/dist/esm/src/helpers/cloneDeepSafe.js +2 -1
- package/dist/esm/src/helpers/comparisonKey.js +2 -5
- package/dist/esm/src/helpers/stringCasing.js +2 -1
- package/dist/esm/src/index.js +1 -1
- package/dist/esm/src/serializer/SerializerRenderer.js +2 -7
- package/dist/esm/src/serializer/builders/DreamSerializerBuilder.js +0 -3
- package/dist/esm/src/serializer/builders/ObjectSerializerBuilder.js +0 -3
- package/dist/esm/src/serializer/helpers/isDreamSerializer.js +5 -2
- package/dist/esm/src/serializer/helpers/serializerForAssociatedClass.js +2 -1
- package/dist/types/src/Dream.d.ts +0 -7
- package/dist/types/src/index.d.ts +1 -1
- package/dist/types/src/serializer/builders/DreamSerializerBuilder.d.ts +0 -1
- package/dist/types/src/serializer/builders/ObjectSerializerBuilder.d.ts +0 -1
- package/dist/types/src/types/serializer.d.ts +0 -4
- package/dist/types/src/types/serializer.ts +0 -4
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/Benchmark.html +2 -2
- package/docs/classes/CalendarDate.html +2 -2
- package/docs/classes/CheckConstraintViolation.html +3 -3
- package/docs/classes/CliFileWriter.html +2 -2
- package/docs/classes/CreateOrFindByFailedToCreateAndFind.html +3 -3
- package/docs/classes/DataTypeColumnTypeMismatch.html +3 -3
- package/docs/classes/Decorators.html +19 -19
- package/docs/classes/Dream.html +112 -116
- package/docs/classes/DreamApp.html +4 -4
- package/docs/classes/DreamBin.html +2 -2
- package/docs/classes/DreamCLI.html +4 -4
- package/docs/classes/DreamImporter.html +2 -2
- package/docs/classes/DreamLogos.html +2 -2
- package/docs/classes/DreamMigrationHelpers.html +8 -8
- package/docs/classes/DreamSerializerBuilder.html +8 -9
- package/docs/classes/DreamTransaction.html +2 -2
- package/docs/classes/Encrypt.html +2 -2
- package/docs/classes/Env.html +2 -2
- package/docs/classes/GlobalNameNotSet.html +3 -3
- package/docs/classes/KyselyQueryDriver.html +30 -30
- package/docs/classes/MissingSerializersDefinition.html +12 -0
- package/docs/classes/NonLoadedAssociation.html +3 -3
- package/docs/classes/NotNullViolation.html +3 -3
- package/docs/classes/ObjectSerializerBuilder.html +8 -9
- package/docs/classes/PostgresQueryDriver.html +31 -31
- package/docs/classes/Query.html +53 -53
- package/docs/classes/QueryDriverBase.html +29 -29
- package/docs/classes/Range.html +2 -2
- package/docs/classes/RecordNotFound.html +3 -3
- package/docs/classes/ValidationError.html +3 -3
- package/docs/functions/DreamSerializer.html +1 -1
- package/docs/functions/ObjectSerializer.html +1 -1
- package/docs/functions/ReplicaSafe.html +1 -1
- package/docs/functions/STI.html +1 -1
- package/docs/functions/SoftDelete.html +1 -1
- package/docs/functions/camelize.html +1 -1
- package/docs/functions/capitalize.html +1 -1
- package/docs/functions/cloneDeepSafe.html +1 -1
- package/docs/functions/closeAllDbConnections.html +1 -1
- package/docs/functions/compact.html +1 -1
- package/docs/functions/dreamDbConnections.html +1 -1
- package/docs/functions/dreamPath.html +1 -1
- package/docs/functions/expandStiClasses.html +1 -1
- package/docs/functions/generateDream.html +1 -1
- package/docs/functions/globalClassNameFromFullyQualifiedModelName.html +1 -1
- package/docs/functions/groupBy.html +1 -1
- package/docs/functions/hyphenize.html +1 -1
- package/docs/functions/inferSerializerFromDreamOrViewModel.html +1 -1
- package/docs/functions/inferSerializersFromDreamClassOrViewModelClass.html +1 -1
- package/docs/functions/intersection.html +1 -1
- package/docs/functions/isDreamSerializer.html +1 -1
- package/docs/functions/isEmpty.html +1 -1
- package/docs/functions/loadRepl.html +1 -1
- package/docs/functions/lookupClassByGlobalName.html +1 -1
- package/docs/functions/normalizeUnicode.html +1 -1
- package/docs/functions/pascalize.html +1 -1
- package/docs/functions/pgErrorType.html +1 -1
- package/docs/functions/range-1.html +1 -1
- package/docs/functions/relativeDreamPath.html +1 -1
- package/docs/functions/round.html +1 -1
- package/docs/functions/serializerNameFromFullyQualifiedModelName.html +1 -1
- package/docs/functions/sharedPathPrefix.html +1 -1
- package/docs/functions/snakeify.html +1 -1
- package/docs/functions/sort.html +1 -1
- package/docs/functions/sortBy.html +1 -1
- package/docs/functions/sortObjectByKey.html +1 -1
- package/docs/functions/sortObjectByValue.html +1 -1
- package/docs/functions/standardizeFullyQualifiedModelName.html +1 -1
- package/docs/functions/uncapitalize.html +1 -1
- package/docs/functions/uniq.html +1 -1
- package/docs/functions/untypedDb.html +1 -1
- package/docs/functions/validateColumn.html +1 -1
- package/docs/functions/validateTable.html +1 -1
- package/docs/interfaces/BelongsToStatement.html +2 -2
- package/docs/interfaces/DecoratorContext.html +2 -2
- package/docs/interfaces/DreamAppInitOptions.html +2 -2
- package/docs/interfaces/DreamAppOpts.html +2 -2
- package/docs/interfaces/EncryptOptions.html +2 -2
- package/docs/interfaces/InternalAnyTypedSerializerRendersMany.html +2 -2
- package/docs/interfaces/InternalAnyTypedSerializerRendersOne.html +2 -2
- package/docs/interfaces/OpenapiDescription.html +2 -2
- package/docs/interfaces/OpenapiSchemaProperties.html +1 -1
- package/docs/interfaces/OpenapiSchemaPropertiesShorthand.html +1 -1
- package/docs/interfaces/OpenapiTypeFieldObject.html +1 -1
- package/docs/interfaces/SerializerRendererOpts.html +2 -2
- package/docs/modules.html +1 -1
- package/docs/types/Camelized.html +1 -1
- package/docs/types/CommonOpenapiSchemaObjectFields.html +1 -1
- package/docs/types/DateTime.html +1 -1
- package/docs/types/DbConnectionType.html +1 -1
- package/docs/types/DbTypes.html +1 -1
- package/docs/types/DreamAppAllowedPackageManagersEnum.html +1 -1
- package/docs/types/DreamAssociationMetadata.html +1 -1
- package/docs/types/DreamAttributes.html +1 -1
- package/docs/types/DreamClassAssociationAndStatement.html +1 -1
- package/docs/types/DreamClassColumn.html +1 -1
- package/docs/types/DreamColumn.html +1 -1
- package/docs/types/DreamColumnNames.html +1 -1
- package/docs/types/DreamLogLevel.html +1 -1
- package/docs/types/DreamLogger.html +1 -1
- package/docs/types/DreamModelSerializerType.html +1 -1
- package/docs/types/DreamOrViewModelClassSerializerKey.html +1 -1
- package/docs/types/DreamOrViewModelSerializerKey.html +1 -1
- package/docs/types/DreamParamSafeAttributes.html +1 -1
- package/docs/types/DreamParamSafeColumnNames.html +1 -1
- package/docs/types/DreamSerializable.html +1 -1
- package/docs/types/DreamSerializableArray.html +1 -1
- package/docs/types/DreamSerializerKey.html +1 -1
- package/docs/types/DreamSerializers.html +1 -1
- package/docs/types/DreamVirtualColumns.html +1 -1
- package/docs/types/EncryptAlgorithm.html +1 -1
- package/docs/types/HasManyStatement.html +1 -1
- package/docs/types/HasOneStatement.html +1 -1
- package/docs/types/Hyphenized.html +1 -1
- package/docs/types/OpenapiAllTypes.html +1 -1
- package/docs/types/OpenapiFormats.html +1 -1
- package/docs/types/OpenapiNumberFormats.html +1 -1
- package/docs/types/OpenapiPrimitiveBaseTypes.html +1 -1
- package/docs/types/OpenapiPrimitiveTypes.html +1 -1
- package/docs/types/OpenapiSchemaArray.html +1 -1
- package/docs/types/OpenapiSchemaArrayShorthand.html +1 -1
- package/docs/types/OpenapiSchemaBase.html +1 -1
- package/docs/types/OpenapiSchemaBody.html +1 -1
- package/docs/types/OpenapiSchemaBodyShorthand.html +1 -1
- package/docs/types/OpenapiSchemaCommonFields.html +1 -1
- package/docs/types/OpenapiSchemaExpressionAllOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionOneOf.html +1 -1
- package/docs/types/OpenapiSchemaExpressionRef.html +1 -1
- package/docs/types/OpenapiSchemaExpressionRefSchemaShorthand.html +1 -1
- package/docs/types/OpenapiSchemaInteger.html +1 -1
- package/docs/types/OpenapiSchemaNull.html +1 -1
- package/docs/types/OpenapiSchemaNumber.html +1 -1
- package/docs/types/OpenapiSchemaObject.html +1 -1
- package/docs/types/OpenapiSchemaObjectAllOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectAllOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectAnyOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectBase.html +1 -1
- package/docs/types/OpenapiSchemaObjectBaseShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectOneOf.html +1 -1
- package/docs/types/OpenapiSchemaObjectOneOfShorthand.html +1 -1
- package/docs/types/OpenapiSchemaObjectShorthand.html +1 -1
- package/docs/types/OpenapiSchemaPrimitiveGeneric.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionAllOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionAnyOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionOneOf.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionSerializableRef.html +1 -1
- package/docs/types/OpenapiSchemaShorthandExpressionSerializerRef.html +1 -1
- package/docs/types/OpenapiSchemaShorthandPrimitiveGeneric.html +1 -1
- package/docs/types/OpenapiSchemaString.html +1 -1
- package/docs/types/OpenapiShorthandAllTypes.html +1 -1
- package/docs/types/OpenapiShorthandPrimitiveBaseTypes.html +1 -1
- package/docs/types/OpenapiShorthandPrimitiveTypes.html +1 -1
- package/docs/types/OpenapiTypeField.html +1 -1
- package/docs/types/Pascalized.html +1 -1
- package/docs/types/RoundingPrecision.html +1 -1
- package/docs/types/SerializerCasing.html +1 -1
- package/docs/types/SimpleObjectSerializerType.html +1 -1
- package/docs/types/Snakeified.html +1 -1
- package/docs/types/UpdateableAssociationProperties.html +1 -1
- package/docs/types/UpdateableProperties.html +1 -1
- package/docs/types/ValidationType.html +1 -1
- package/docs/types/ViewModel.html +1 -1
- package/docs/types/ViewModelClass.html +1 -1
- package/docs/types/WhereStatementForDream.html +1 -1
- package/docs/types/WhereStatementForDreamClass.html +1 -1
- package/docs/variables/DateTime-1.html +1 -1
- package/docs/variables/DreamAppAllowedPackageManagersEnumValues.html +1 -1
- package/docs/variables/DreamConst.html +1 -1
- package/docs/variables/TRIGRAM_OPERATORS.html +1 -1
- package/docs/variables/openapiPrimitiveTypes-1.html +1 -1
- package/docs/variables/openapiShorthandPrimitiveTypes-1.html +1 -1
- package/docs/variables/ops.html +1 -1
- package/docs/variables/primaryKeyTypes.html +1 -1
- package/package.json +2 -2
- package/dist/cjs/src/helpers/sanitizeString.js +0 -49
- package/dist/esm/src/helpers/sanitizeString.js +0 -46
- package/dist/types/src/helpers/sanitizeString.d.ts +0 -2
- package/docs/functions/sanitizeString.html +0 -1
package/dist/cjs/src/Dream.js
CHANGED
|
@@ -2072,15 +2072,6 @@ class Dream {
|
|
|
2072
2072
|
get isDirty() {
|
|
2073
2073
|
return !!Object.keys(this.dirtyAttributes()).length;
|
|
2074
2074
|
}
|
|
2075
|
-
/**
|
|
2076
|
-
* Returns true. This is useful for identifying
|
|
2077
|
-
* dream instances from other objects
|
|
2078
|
-
*
|
|
2079
|
-
* @returns true
|
|
2080
|
-
*/
|
|
2081
|
-
get isDreamInstance() {
|
|
2082
|
-
return true;
|
|
2083
|
-
}
|
|
2084
2075
|
/**
|
|
2085
2076
|
* Runs validation checks against all validations
|
|
2086
2077
|
* declared using the Validate and Validates decorators,
|
|
@@ -2947,7 +2938,7 @@ class Dream {
|
|
|
2947
2938
|
* @returns A boolean
|
|
2948
2939
|
*/
|
|
2949
2940
|
equals(other) {
|
|
2950
|
-
if (!other
|
|
2941
|
+
if (!(other instanceof Dream))
|
|
2951
2942
|
return false;
|
|
2952
2943
|
return this.comparisonKey === other.comparisonKey;
|
|
2953
2944
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = areEqual;
|
|
4
|
+
const Dream_js_1 = require("../Dream.js");
|
|
4
5
|
const CalendarDate_js_1 = require("./CalendarDate.js");
|
|
5
6
|
const DateTime_js_1 = require("./DateTime.js");
|
|
6
7
|
function areEqual(a, b) {
|
|
@@ -23,7 +24,7 @@ function areEqualOrUndefined(a, b) {
|
|
|
23
24
|
return b instanceof CalendarDate_js_1.default && a.equals(b);
|
|
24
25
|
if (Array.isArray(a))
|
|
25
26
|
return Array.isArray(b) && a.length === b.length && !a.find((value, index) => !areEqual(value, b[index]));
|
|
26
|
-
if (a
|
|
27
|
+
if (a instanceof Dream_js_1.default)
|
|
27
28
|
return a.equals(b);
|
|
28
29
|
return undefined;
|
|
29
30
|
}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.TypeUnsupportedByClone = void 0;
|
|
4
4
|
exports.default = cloneDeepSafe;
|
|
5
|
+
const Dream_js_1 = require("../Dream.js");
|
|
5
6
|
const ops_statement_js_1 = require("../ops/ops-statement.js");
|
|
6
7
|
const CalendarDate_js_1 = require("./CalendarDate.js");
|
|
7
8
|
const DateTime_js_1 = require("./DateTime.js");
|
|
@@ -35,7 +36,7 @@ function cloneDeepSafe(original, unsupportedTypeCloneFunction) {
|
|
|
35
36
|
return original;
|
|
36
37
|
if (original instanceof ops_statement_js_1.default)
|
|
37
38
|
return original;
|
|
38
|
-
if (original
|
|
39
|
+
if (original instanceof Dream_js_1.default)
|
|
39
40
|
return original['clone']();
|
|
40
41
|
if (original?.isDreamQuery)
|
|
41
42
|
return original.clone();
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = comparisonKey;
|
|
4
|
+
const Dream_js_1 = require("../Dream.js");
|
|
4
5
|
function comparisonKey(val, toKey = undefined) {
|
|
5
|
-
return val
|
|
6
|
-
? val.comparisonKey
|
|
7
|
-
: toKey
|
|
8
|
-
? toKey(val)
|
|
9
|
-
: val;
|
|
6
|
+
return val instanceof Dream_js_1.default ? val.comparisonKey : toKey ? toKey(val) : val;
|
|
10
7
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = stringCase;
|
|
4
|
+
const Dream_js_1 = require("../Dream.js");
|
|
4
5
|
const CalendarDate_js_1 = require("./CalendarDate.js");
|
|
5
6
|
const DateTime_js_1 = require("./DateTime.js");
|
|
6
7
|
const isObject_js_1 = require("./isObject.js");
|
|
@@ -23,7 +24,7 @@ function recursiveStringCase(target, stringCaser) {
|
|
|
23
24
|
return target;
|
|
24
25
|
if (target instanceof CalendarDate_js_1.default)
|
|
25
26
|
return target;
|
|
26
|
-
if (target
|
|
27
|
+
if (target instanceof Dream_js_1.default)
|
|
27
28
|
return target;
|
|
28
29
|
return Object.keys(target).reduce((stringCasedObject, targetKey) => {
|
|
29
30
|
stringCasedObject[stringCaser(targetKey)] = recursiveStringCase(target[targetKey], stringCaser);
|
package/dist/cjs/src/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.ObjectSerializerBuilder = exports.DreamSerializerBuilder = exports.ObjectSerializer = exports.DreamSerializer = exports.serializerNameFromFullyQualifiedModelName = exports.isDreamSerializer = exports.inferSerializersFromDreamClassOrViewModelClass = exports.inferSerializerFromDreamOrViewModel = exports.ops = exports.uniq = exports.uncapitalize = exports.expandStiClasses = exports.standardizeFullyQualifiedModelName = exports.sortObjectByValue = exports.sortObjectByKey = exports.sortBy = exports.sort = exports.snakeify = exports.
|
|
3
|
+
exports.hyphenize = exports.groupBy = exports.globalClassNameFromFullyQualifiedModelName = exports.Env = exports.DreamLogos = exports.DateTime = exports.compact = exports.cloneDeepSafe = exports.generateDream = exports.capitalize = exports.camelize = exports.CalendarDate = exports.Benchmark = exports.ValidationError = exports.MissingSerializersDefinition = exports.RecordNotFound = exports.GlobalNameNotSet = exports.NotNullViolation = exports.DataTypeColumnTypeMismatch = exports.CheckConstraintViolation = exports.CreateOrFindByFailedToCreateAndFind = exports.NonLoadedAssociation = exports.Encrypt = exports.PostgresQueryDriver = exports.KyselyQueryDriver = exports.QueryDriverBase = exports.Query = exports.DreamTransaction = exports.openapiShorthandPrimitiveTypes = exports.openapiPrimitiveTypes = exports.DreamConst = exports.Dream = exports.DreamAppAllowedPackageManagersEnumValues = exports.DreamApp = exports.lookupClassByGlobalName = exports.DreamImporter = exports.Decorators = exports.STI = exports.SoftDelete = exports.ReplicaSafe = exports.validateTable = exports.validateColumn = exports.DreamMigrationHelpers = exports.untypedDb = exports.pgErrorType = exports.dreamDbConnections = exports.closeAllDbConnections = exports.DreamCLI = exports.CliFileWriter = exports.DreamBin = void 0;
|
|
4
|
+
exports.ObjectSerializerBuilder = exports.DreamSerializerBuilder = exports.ObjectSerializer = exports.DreamSerializer = exports.serializerNameFromFullyQualifiedModelName = exports.isDreamSerializer = exports.inferSerializersFromDreamClassOrViewModelClass = exports.inferSerializerFromDreamOrViewModel = exports.ops = exports.uniq = exports.uncapitalize = exports.expandStiClasses = exports.standardizeFullyQualifiedModelName = exports.sortObjectByValue = exports.sortObjectByKey = exports.sortBy = exports.sort = exports.snakeify = exports.round = exports.range = exports.Range = exports.sharedPathPrefix = exports.relativeDreamPath = exports.dreamPath = exports.pascalize = exports.normalizeUnicode = exports.loadRepl = exports.isEmpty = exports.intersection = void 0;
|
|
5
5
|
var index_js_1 = require("./bin/index.js");
|
|
6
6
|
Object.defineProperty(exports, "DreamBin", { enumerable: true, get: function () { return index_js_1.default; } });
|
|
7
7
|
var CliFileWriter_js_1 = require("./cli/CliFileWriter.js");
|
|
@@ -68,6 +68,8 @@ var GlobalNameNotSet_js_1 = require("./errors/dream-app/GlobalNameNotSet.js");
|
|
|
68
68
|
Object.defineProperty(exports, "GlobalNameNotSet", { enumerable: true, get: function () { return GlobalNameNotSet_js_1.default; } });
|
|
69
69
|
var RecordNotFound_js_1 = require("./errors/RecordNotFound.js");
|
|
70
70
|
Object.defineProperty(exports, "RecordNotFound", { enumerable: true, get: function () { return RecordNotFound_js_1.default; } });
|
|
71
|
+
var MissingSerializersDefinition_js_1 = require("./errors/serializers/MissingSerializersDefinition.js");
|
|
72
|
+
Object.defineProperty(exports, "MissingSerializersDefinition", { enumerable: true, get: function () { return MissingSerializersDefinition_js_1.default; } });
|
|
71
73
|
var ValidationError_js_1 = require("./errors/ValidationError.js");
|
|
72
74
|
Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return ValidationError_js_1.default; } });
|
|
73
75
|
var benchmark_js_1 = require("./helpers/benchmark.js");
|
|
@@ -117,8 +119,6 @@ Object.defineProperty(exports, "Range", { enumerable: true, get: function () { r
|
|
|
117
119
|
Object.defineProperty(exports, "range", { enumerable: true, get: function () { return range_js_1.default; } });
|
|
118
120
|
var round_js_1 = require("./helpers/round.js");
|
|
119
121
|
Object.defineProperty(exports, "round", { enumerable: true, get: function () { return round_js_1.default; } });
|
|
120
|
-
var sanitizeString_js_1 = require("./helpers/sanitizeString.js");
|
|
121
|
-
Object.defineProperty(exports, "sanitizeString", { enumerable: true, get: function () { return sanitizeString_js_1.default; } });
|
|
122
122
|
var snakeify_js_1 = require("./helpers/snakeify.js");
|
|
123
123
|
Object.defineProperty(exports, "snakeify", { enumerable: true, get: function () { return snakeify_js_1.default; } });
|
|
124
124
|
var sort_js_1 = require("./helpers/sort.js");
|
|
@@ -5,7 +5,6 @@ const CalendarDate_js_1 = require("../helpers/CalendarDate.js");
|
|
|
5
5
|
const compact_js_1 = require("../helpers/compact.js");
|
|
6
6
|
const DateTime_js_1 = require("../helpers/DateTime.js");
|
|
7
7
|
const round_js_1 = require("../helpers/round.js");
|
|
8
|
-
const sanitizeString_js_1 = require("../helpers/sanitizeString.js");
|
|
9
8
|
const snakeify_js_1 = require("../helpers/snakeify.js");
|
|
10
9
|
const DreamSerializerBuilder_js_1 = require("./builders/DreamSerializerBuilder.js");
|
|
11
10
|
const ObjectSerializerBuilder_js_1 = require("./builders/ObjectSerializerBuilder.js");
|
|
@@ -43,9 +42,7 @@ class SerializerRenderer {
|
|
|
43
42
|
case 'attribute': {
|
|
44
43
|
const outputAttributeName = this.setCase(attribute.options?.as ?? attribute.name);
|
|
45
44
|
const value = data[attribute.name] ?? attribute.options?.default;
|
|
46
|
-
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(attribute.options
|
|
47
|
-
? (0, sanitizeString_js_1.default)(value, attribute.options.sanitize)
|
|
48
|
-
: value, attribute.options, this.passthroughData, this.renderOpts);
|
|
45
|
+
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(value, attribute.options, this.passthroughData, this.renderOpts);
|
|
49
46
|
return accumulator;
|
|
50
47
|
}
|
|
51
48
|
/////////////////////
|
|
@@ -58,9 +55,7 @@ class SerializerRenderer {
|
|
|
58
55
|
const outputAttributeName = this.setCase(attribute.options?.as ?? attribute.name);
|
|
59
56
|
const target = data[attribute.targetName];
|
|
60
57
|
const value = target?.[attribute.name] ?? attribute.options?.default;
|
|
61
|
-
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(attribute.options
|
|
62
|
-
? (0, sanitizeString_js_1.default)(value, attribute.options.sanitize)
|
|
63
|
-
: value, attribute.options, this.passthroughData, this.renderOpts);
|
|
58
|
+
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(value, attribute.options, this.passthroughData, this.renderOpts);
|
|
64
59
|
return accumulator;
|
|
65
60
|
}
|
|
66
61
|
//////////////////////////////
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.default = isDreamSerializer;
|
|
4
|
+
const Dream_js_1 = require("../../Dream.js");
|
|
5
|
+
const DreamSerializerBuilder_js_1 = require("../builders/DreamSerializerBuilder.js");
|
|
6
|
+
const ObjectSerializerBuilder_js_1 = require("../builders/ObjectSerializerBuilder.js");
|
|
4
7
|
function isDreamSerializer(dreamOrSerializerClass) {
|
|
5
8
|
if (!dreamOrSerializerClass)
|
|
6
9
|
return false;
|
|
7
10
|
const asDream = dreamOrSerializerClass;
|
|
8
|
-
if (asDream.
|
|
11
|
+
if (asDream instanceof Dream_js_1.default)
|
|
9
12
|
return false;
|
|
10
13
|
if (typeof dreamOrSerializerClass !== 'function')
|
|
11
14
|
return false;
|
|
12
15
|
try {
|
|
13
16
|
const serializer = dreamOrSerializerClass(undefined, undefined);
|
|
14
|
-
return
|
|
17
|
+
return serializer instanceof DreamSerializerBuilder_js_1.default || serializer instanceof ObjectSerializerBuilder_js_1.default;
|
|
15
18
|
}
|
|
16
19
|
catch {
|
|
17
20
|
return false;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.serializerForAssociatedClass = serializerForAssociatedClass;
|
|
4
|
+
const Dream_js_1 = require("../../Dream.js");
|
|
4
5
|
const inferSerializerFromDreamOrViewModel_js_1 = require("./inferSerializerFromDreamOrViewModel.js");
|
|
5
6
|
/**
|
|
6
7
|
* Only used when flatten: true, and the associated model is null, in which case,
|
|
@@ -10,7 +11,7 @@ const inferSerializerFromDreamOrViewModel_js_1 = require("./inferSerializerFromD
|
|
|
10
11
|
function serializerForAssociatedClass(object, associationName, options) {
|
|
11
12
|
if (options.serializer)
|
|
12
13
|
return options.serializer;
|
|
13
|
-
if (!object.
|
|
14
|
+
if (!(object instanceof Dream_js_1.default))
|
|
14
15
|
return null;
|
|
15
16
|
const dream = object;
|
|
16
17
|
const association = dream['getAssociationMetadata'](associationName);
|
package/dist/esm/src/Dream.js
CHANGED
|
@@ -2070,15 +2070,6 @@ export default class Dream {
|
|
|
2070
2070
|
get isDirty() {
|
|
2071
2071
|
return !!Object.keys(this.dirtyAttributes()).length;
|
|
2072
2072
|
}
|
|
2073
|
-
/**
|
|
2074
|
-
* Returns true. This is useful for identifying
|
|
2075
|
-
* dream instances from other objects
|
|
2076
|
-
*
|
|
2077
|
-
* @returns true
|
|
2078
|
-
*/
|
|
2079
|
-
get isDreamInstance() {
|
|
2080
|
-
return true;
|
|
2081
|
-
}
|
|
2082
2073
|
/**
|
|
2083
2074
|
* Runs validation checks against all validations
|
|
2084
2075
|
* declared using the Validate and Validates decorators,
|
|
@@ -2945,7 +2936,7 @@ export default class Dream {
|
|
|
2945
2936
|
* @returns A boolean
|
|
2946
2937
|
*/
|
|
2947
2938
|
equals(other) {
|
|
2948
|
-
if (!other
|
|
2939
|
+
if (!(other instanceof Dream))
|
|
2949
2940
|
return false;
|
|
2950
2941
|
return this.comparisonKey === other.comparisonKey;
|
|
2951
2942
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Dream from '../Dream.js';
|
|
1
2
|
import CalendarDate from './CalendarDate.js';
|
|
2
3
|
import { DateTime } from './DateTime.js';
|
|
3
4
|
export default function areEqual(a, b) {
|
|
@@ -20,7 +21,7 @@ function areEqualOrUndefined(a, b) {
|
|
|
20
21
|
return b instanceof CalendarDate && a.equals(b);
|
|
21
22
|
if (Array.isArray(a))
|
|
22
23
|
return Array.isArray(b) && a.length === b.length && !a.find((value, index) => !areEqual(value, b[index]));
|
|
23
|
-
if (a
|
|
24
|
+
if (a instanceof Dream)
|
|
24
25
|
return a.equals(b);
|
|
25
26
|
return undefined;
|
|
26
27
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Dream from '../Dream.js';
|
|
1
2
|
import OpsStatement from '../ops/ops-statement.js';
|
|
2
3
|
import CalendarDate from './CalendarDate.js';
|
|
3
4
|
import { DateTime } from './DateTime.js';
|
|
@@ -31,7 +32,7 @@ export default function cloneDeepSafe(original, unsupportedTypeCloneFunction) {
|
|
|
31
32
|
return original;
|
|
32
33
|
if (original instanceof OpsStatement)
|
|
33
34
|
return original;
|
|
34
|
-
if (original
|
|
35
|
+
if (original instanceof Dream)
|
|
35
36
|
return original['clone']();
|
|
36
37
|
if (original?.isDreamQuery)
|
|
37
38
|
return original.clone();
|
|
@@ -1,7 +1,4 @@
|
|
|
1
|
+
import Dream from '../Dream.js';
|
|
1
2
|
export default function comparisonKey(val, toKey = undefined) {
|
|
2
|
-
return val
|
|
3
|
-
? val.comparisonKey
|
|
4
|
-
: toKey
|
|
5
|
-
? toKey(val)
|
|
6
|
-
: val;
|
|
3
|
+
return val instanceof Dream ? val.comparisonKey : toKey ? toKey(val) : val;
|
|
7
4
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Dream from '../Dream.js';
|
|
1
2
|
import CalendarDate from './CalendarDate.js';
|
|
2
3
|
import { DateTime } from './DateTime.js';
|
|
3
4
|
import isObject from './isObject.js';
|
|
@@ -20,7 +21,7 @@ function recursiveStringCase(target, stringCaser) {
|
|
|
20
21
|
return target;
|
|
21
22
|
if (target instanceof CalendarDate)
|
|
22
23
|
return target;
|
|
23
|
-
if (target
|
|
24
|
+
if (target instanceof Dream)
|
|
24
25
|
return target;
|
|
25
26
|
return Object.keys(target).reduce((stringCasedObject, targetKey) => {
|
|
26
27
|
stringCasedObject[stringCaser(targetKey)] = recursiveStringCase(target[targetKey], stringCaser);
|
package/dist/esm/src/index.js
CHANGED
|
@@ -29,6 +29,7 @@ export { default as DataTypeColumnTypeMismatch } from './errors/db/DataTypeColum
|
|
|
29
29
|
export { default as NotNullViolation } from './errors/db/NotNullViolation.js';
|
|
30
30
|
export { default as GlobalNameNotSet } from './errors/dream-app/GlobalNameNotSet.js';
|
|
31
31
|
export { default as RecordNotFound } from './errors/RecordNotFound.js';
|
|
32
|
+
export { default as MissingSerializersDefinition } from './errors/serializers/MissingSerializersDefinition.js';
|
|
32
33
|
export { default as ValidationError } from './errors/ValidationError.js';
|
|
33
34
|
export { default as Benchmark } from './helpers/benchmark.js';
|
|
34
35
|
export { default as CalendarDate } from './helpers/CalendarDate.js';
|
|
@@ -53,7 +54,6 @@ export { default as relativeDreamPath } from './helpers/path/relativeDreamPath.j
|
|
|
53
54
|
export { default as sharedPathPrefix } from './helpers/path/sharedPathPrefix.js';
|
|
54
55
|
export { Range, default as range } from './helpers/range.js';
|
|
55
56
|
export { default as round } from './helpers/round.js';
|
|
56
|
-
export { default as sanitizeString } from './helpers/sanitizeString.js';
|
|
57
57
|
export { default as snakeify } from './helpers/snakeify.js';
|
|
58
58
|
export { default as sort } from './helpers/sort.js';
|
|
59
59
|
export { default as sortBy } from './helpers/sortBy.js';
|
|
@@ -3,7 +3,6 @@ import CalendarDate from '../helpers/CalendarDate.js';
|
|
|
3
3
|
import compact from '../helpers/compact.js';
|
|
4
4
|
import { DateTime } from '../helpers/DateTime.js';
|
|
5
5
|
import round from '../helpers/round.js';
|
|
6
|
-
import sanitizeString from '../helpers/sanitizeString.js';
|
|
7
6
|
import snakeify from '../helpers/snakeify.js';
|
|
8
7
|
import DreamSerializerBuilder from './builders/DreamSerializerBuilder.js';
|
|
9
8
|
import ObjectSerializerBuilder from './builders/ObjectSerializerBuilder.js';
|
|
@@ -41,9 +40,7 @@ export default class SerializerRenderer {
|
|
|
41
40
|
case 'attribute': {
|
|
42
41
|
const outputAttributeName = this.setCase(attribute.options?.as ?? attribute.name);
|
|
43
42
|
const value = data[attribute.name] ?? attribute.options?.default;
|
|
44
|
-
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(attribute.options
|
|
45
|
-
? sanitizeString(value, attribute.options.sanitize)
|
|
46
|
-
: value, attribute.options, this.passthroughData, this.renderOpts);
|
|
43
|
+
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(value, attribute.options, this.passthroughData, this.renderOpts);
|
|
47
44
|
return accumulator;
|
|
48
45
|
}
|
|
49
46
|
/////////////////////
|
|
@@ -56,9 +53,7 @@ export default class SerializerRenderer {
|
|
|
56
53
|
const outputAttributeName = this.setCase(attribute.options?.as ?? attribute.name);
|
|
57
54
|
const target = data[attribute.targetName];
|
|
58
55
|
const value = target?.[attribute.name] ?? attribute.options?.default;
|
|
59
|
-
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(attribute.options
|
|
60
|
-
? sanitizeString(value, attribute.options.sanitize)
|
|
61
|
-
: value, attribute.options, this.passthroughData, this.renderOpts);
|
|
56
|
+
accumulator[outputAttributeName] = applyRenderingOptionsToAttribute(value, attribute.options, this.passthroughData, this.renderOpts);
|
|
62
57
|
return accumulator;
|
|
63
58
|
}
|
|
64
59
|
//////////////////////////////
|
|
@@ -1,14 +1,17 @@
|
|
|
1
|
+
import Dream from '../../Dream.js';
|
|
2
|
+
import DreamSerializerBuilder from '../builders/DreamSerializerBuilder.js';
|
|
3
|
+
import ObjectSerializerBuilder from '../builders/ObjectSerializerBuilder.js';
|
|
1
4
|
export default function isDreamSerializer(dreamOrSerializerClass) {
|
|
2
5
|
if (!dreamOrSerializerClass)
|
|
3
6
|
return false;
|
|
4
7
|
const asDream = dreamOrSerializerClass;
|
|
5
|
-
if (asDream
|
|
8
|
+
if (asDream instanceof Dream)
|
|
6
9
|
return false;
|
|
7
10
|
if (typeof dreamOrSerializerClass !== 'function')
|
|
8
11
|
return false;
|
|
9
12
|
try {
|
|
10
13
|
const serializer = dreamOrSerializerClass(undefined, undefined);
|
|
11
|
-
return
|
|
14
|
+
return serializer instanceof DreamSerializerBuilder || serializer instanceof ObjectSerializerBuilder;
|
|
12
15
|
}
|
|
13
16
|
catch {
|
|
14
17
|
return false;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import Dream from '../../Dream.js';
|
|
1
2
|
import { inferSerializersFromDreamClassOrViewModelClass } from './inferSerializerFromDreamOrViewModel.js';
|
|
2
3
|
/**
|
|
3
4
|
* Only used when flatten: true, and the associated model is null, in which case,
|
|
@@ -7,7 +8,7 @@ import { inferSerializersFromDreamClassOrViewModelClass } from './inferSerialize
|
|
|
7
8
|
export function serializerForAssociatedClass(object, associationName, options) {
|
|
8
9
|
if (options.serializer)
|
|
9
10
|
return options.serializer;
|
|
10
|
-
if (!object
|
|
11
|
+
if (!(object instanceof Dream))
|
|
11
12
|
return null;
|
|
12
13
|
const dream = object;
|
|
13
14
|
const association = dream['getAssociationMetadata'](associationName);
|
|
@@ -1690,13 +1690,6 @@ export default class Dream {
|
|
|
1690
1690
|
* @returns A boolean
|
|
1691
1691
|
*/
|
|
1692
1692
|
get isDirty(): boolean;
|
|
1693
|
-
/**
|
|
1694
|
-
* Returns true. This is useful for identifying
|
|
1695
|
-
* dream instances from other objects
|
|
1696
|
-
*
|
|
1697
|
-
* @returns true
|
|
1698
|
-
*/
|
|
1699
|
-
get isDreamInstance(): boolean;
|
|
1700
1693
|
/**
|
|
1701
1694
|
* Runs validation checks against all validations
|
|
1702
1695
|
* declared using the Validate and Validates decorators,
|
|
@@ -30,6 +30,7 @@ export { default as DataTypeColumnTypeMismatch } from './errors/db/DataTypeColum
|
|
|
30
30
|
export { default as NotNullViolation } from './errors/db/NotNullViolation.js';
|
|
31
31
|
export { default as GlobalNameNotSet } from './errors/dream-app/GlobalNameNotSet.js';
|
|
32
32
|
export { default as RecordNotFound } from './errors/RecordNotFound.js';
|
|
33
|
+
export { default as MissingSerializersDefinition } from './errors/serializers/MissingSerializersDefinition.js';
|
|
33
34
|
export { default as ValidationError } from './errors/ValidationError.js';
|
|
34
35
|
export { default as Benchmark } from './helpers/benchmark.js';
|
|
35
36
|
export { default as CalendarDate } from './helpers/CalendarDate.js';
|
|
@@ -54,7 +55,6 @@ export { default as relativeDreamPath } from './helpers/path/relativeDreamPath.j
|
|
|
54
55
|
export { default as sharedPathPrefix } from './helpers/path/sharedPathPrefix.js';
|
|
55
56
|
export { Range, default as range } from './helpers/range.js';
|
|
56
57
|
export { default as round, type RoundingPrecision } from './helpers/round.js';
|
|
57
|
-
export { default as sanitizeString } from './helpers/sanitizeString.js';
|
|
58
58
|
export { default as snakeify } from './helpers/snakeify.js';
|
|
59
59
|
export { default as sort } from './helpers/sort.js';
|
|
60
60
|
export { default as sortBy } from './helpers/sortBy.js';
|
|
@@ -8,7 +8,6 @@ export default class DreamSerializerBuilder<DataTypeForOpenapi extends typeof Dr
|
|
|
8
8
|
protected data: MaybeNullDataType;
|
|
9
9
|
protected passthroughData: PassthroughDataType;
|
|
10
10
|
protected attributes: (InternalAnyTypedSerializerAttribute | InternalAnyTypedSerializerDelegatedAttribute | InternalAnyTypedSerializerCustomAttribute | InternalAnyTypedSerializerRendersOne<DataType> | InternalAnyTypedSerializerRendersMany<DataType>)[];
|
|
11
|
-
get isSerializer(): boolean;
|
|
12
11
|
constructor($typeForOpenapi: DataTypeForOpenapi, data: MaybeNullDataType, passthroughData?: PassthroughDataType);
|
|
13
12
|
/**
|
|
14
13
|
* Includes an attribute from the data object in the serialized output.
|
|
@@ -6,7 +6,6 @@ export default class ObjectSerializerBuilder<MaybeNullDataType extends object |
|
|
|
6
6
|
protected data: MaybeNullDataType;
|
|
7
7
|
protected passthroughData: PassthroughDataType;
|
|
8
8
|
protected attributes: (InternalAnyTypedSerializerAttribute | InternalAnyTypedSerializerDelegatedAttribute | InternalAnyTypedSerializerCustomAttribute | InternalAnyTypedSerializerRendersOne<DataType> | InternalAnyTypedSerializerRendersMany<DataType>)[];
|
|
9
|
-
get isSerializer(): boolean;
|
|
10
9
|
constructor(data: MaybeNullDataType, passthroughData?: PassthroughDataType);
|
|
11
10
|
/**
|
|
12
11
|
* Includes an attribute from the data object in the serialized output.
|
|
@@ -5,7 +5,6 @@ import ObjectSerializerBuilder from '../serializer/builders/ObjectSerializerBuil
|
|
|
5
5
|
import { DreamAttributeDbTypes, DreamSerializable, DreamSerializableArray, ViewModelClass } from './dream.js';
|
|
6
6
|
import { DecimalOpenapiTypesIncludingDbTypes, OpenapiDescription, OpenapiSchemaBodyShorthand, OpenapiShorthandPrimitiveTypes } from './openapi.js';
|
|
7
7
|
export type SerializerCasing = 'camel' | 'snake';
|
|
8
|
-
export type AttributeSerializationSanitizationStrategy = 'unicodeString' | 'htmlEntity' | ((val: any) => any);
|
|
9
8
|
export type DreamsOrSerializersOrViewModels = DreamSerializable | DreamSerializableArray;
|
|
10
9
|
export interface InternalAnyTypedSerializerAttribute {
|
|
11
10
|
type: 'attribute';
|
|
@@ -49,7 +48,6 @@ export interface InternalAnyTypedSerializerRendersMany<DataType, AttributeName e
|
|
|
49
48
|
export type AutomaticSerializerAttributeOptions<DreamInstance extends Dream, AttributeName extends keyof DreamInstance & string> = {
|
|
50
49
|
as?: string;
|
|
51
50
|
default?: any;
|
|
52
|
-
sanitize?: AttributeSerializationSanitizationStrategy;
|
|
53
51
|
openapi?: OpenapiDescription;
|
|
54
52
|
precision?: DreamAttributeDbTypes<DreamInstance>[AttributeName] extends DecimalOpenapiTypesIncludingDbTypes ? RoundingPrecision : never;
|
|
55
53
|
};
|
|
@@ -63,13 +61,11 @@ export type AutomaticSerializerAttributeOptionsForType = {
|
|
|
63
61
|
export type SerializerAttributeOptionsForVirtualColumn = {
|
|
64
62
|
as?: string;
|
|
65
63
|
default?: any;
|
|
66
|
-
sanitize?: AttributeSerializationSanitizationStrategy;
|
|
67
64
|
openapi?: OpenapiDescription | OpenapiSchemaBodyShorthand | OpenapiShorthandPrimitiveTypes;
|
|
68
65
|
};
|
|
69
66
|
export type NonAutomaticSerializerAttributeOptions = {
|
|
70
67
|
as?: string;
|
|
71
68
|
default?: any;
|
|
72
|
-
sanitize?: AttributeSerializationSanitizationStrategy;
|
|
73
69
|
openapi: OpenapiSchemaBodyShorthand | OpenapiShorthandPrimitiveTypes;
|
|
74
70
|
};
|
|
75
71
|
export type NonAutomaticSerializerAttributeOptionsWithPossibleDecimalRenderOption = NonAutomaticSerializerAttributeOptions & {
|
|
@@ -11,7 +11,6 @@ import {
|
|
|
11
11
|
} from './openapi.js'
|
|
12
12
|
|
|
13
13
|
export type SerializerCasing = 'camel' | 'snake'
|
|
14
|
-
export type AttributeSerializationSanitizationStrategy = 'unicodeString' | 'htmlEntity' | ((val: any) => any)
|
|
15
14
|
export type DreamsOrSerializersOrViewModels = DreamSerializable | DreamSerializableArray
|
|
16
15
|
|
|
17
16
|
export interface InternalAnyTypedSerializerAttribute<> {
|
|
@@ -69,7 +68,6 @@ export type AutomaticSerializerAttributeOptions<
|
|
|
69
68
|
> = {
|
|
70
69
|
as?: string
|
|
71
70
|
default?: any
|
|
72
|
-
sanitize?: AttributeSerializationSanitizationStrategy
|
|
73
71
|
openapi?: OpenapiDescription
|
|
74
72
|
precision?: DreamAttributeDbTypes<DreamInstance>[AttributeName] extends DecimalOpenapiTypesIncludingDbTypes
|
|
75
73
|
? RoundingPrecision
|
|
@@ -87,14 +85,12 @@ export type AutomaticSerializerAttributeOptionsForType = {
|
|
|
87
85
|
export type SerializerAttributeOptionsForVirtualColumn = {
|
|
88
86
|
as?: string
|
|
89
87
|
default?: any
|
|
90
|
-
sanitize?: AttributeSerializationSanitizationStrategy
|
|
91
88
|
openapi?: OpenapiDescription | OpenapiSchemaBodyShorthand | OpenapiShorthandPrimitiveTypes
|
|
92
89
|
}
|
|
93
90
|
|
|
94
91
|
export type NonAutomaticSerializerAttributeOptions = {
|
|
95
92
|
as?: string
|
|
96
93
|
default?: any
|
|
97
|
-
sanitize?: AttributeSerializationSanitizationStrategy
|
|
98
94
|
openapi: OpenapiSchemaBodyShorthand | OpenapiShorthandPrimitiveTypes
|
|
99
95
|
}
|
|
100
96
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
window.navigationData = "data:application/octet-stream;base64,
|
|
1
|
+
window.navigationData = "data:application/octet-stream;base64,H4sIAAAAAAAAE62b23LbNhCG30XX6SFpkra5kyUr9cS2VEl1LzqdDkyuJNQgwIKQE7bTd++AlEQSWC5Aunce7b/fDwIkzv7tn4mBL2byYXIFMjlkTD9NXk1yZg6TD5NEsKKA4ptL6OuDycTk1eSJy3Ty4fWbH/59dcmfMQEyZXrODPiIdpSkHCB5milZGM24NA9cCWa4kgixR0nSBV9wAb9qbkAjyHaY5GhgBpZ6wWV6VS4YF5BuVf3rVKb2Z4QeTqI858ywbZnDTIljJu1fd7zImEkOvlW/lnSARGlmlC4Q4iVGEjSwDEm2PwfzpnnekzrN82D2FUfekXMkmD27venJnt3eBLNvslxp9I3qhIOcW7VXWN1fYkHCHd/r6iv4CUQOaENisiB3A5ozwf8GfXXkIu19VE8XJG81kwVL8G/cVVC0a5noMjc+5BSgc5+xvGcq56NQj0zcswzuldkAYuwqKNqnsgBR/nwEXc41f8Yq2JNQvDteFFzum/Yo5rDjkuP1TKkpl3slbxVLIZ0WhUp4T0+NqWiquT8KQfT9roKiLR//hMREvMA9Qoq9UoXZayjIdkNEFLOS+ZTq52Bejb9iBTIEOwKKtWZyjxCqn8k8O0qk98os1BEbArtxivTABE+rtr3WWiG16ggo1hUIJffFVm0MM5CBbH2rXBrQO5ZUsxxX1oW+efceGyxnSlY/YUhXRAJPI92N5GaZ2wcrcKavi8Euc0PzrIACnbpRqmhdCQW7sUmSiaks7ewkbb66NcgUdHHHZIl6RGW+yHopYZzzUgJlvMxBspzPoUg0z7sdW8vGl0VAN8kBMrbSKgdtOODN06Mdgd8clDYH1v7Ewz6XpAhDW8ELDiKtO2XKxpFScLfFQPd+FbiUgs9YBjahVSemzKulzyngZH/74/ev371pE1SWKdmpvfqZqscrPC4tD7nZldiWZ+Biz78H8x9nSkqo5mW2DTyOEw/zrMp7ytPPwexTLzYVQn2GdMWSJ7aHOybZHnRxLY+ZBw5mxHk2c5o7MCxlhuFOvi6Ob4zmj0eD1Ew3HEWb2dGzVZSpTJFBscWnEuId63Vov0Edj+MRqKEUOzXHq7UVj+Ldqv0tPINAYedgLGnfnkV2OXt37thDuVMpiKYPQ7/PHl0Uf6kfOHyusqsGbBCfoESdyIyhnoPshjutmGbZhu0g8PEhumH80GuICaMczs/MHgXe8G3BYOJUa4ZXu6caxO5vzuFt2FrLBohxNfrAtTkyUTcEjuxKQtTTZHkq9kpzc/DGJzce4v3Eqqlvb3fuxiN4SwkUrh0O0sr8ABKbHjWREOM01ZkKgc4UnHAkbaF0xkwf7BSNZN0fs0fQNLGjieSuNM+44c9g1+3Us/vCoQ5R9CHkemKK9hi+YjgTWYn0wfvWH7RLdy8FYft7KSGiSumqsILBxLiK6CgHedSrDXwl0isc5HD9JddQFHaSKcRyR5o42rE+soz3sdqRPksJ0T6VdqTPGmJd1vACj/qnuBeOShxUArv7gkyMMc0grt1HJqFWMJBoe/gA00oGUd2NEISKboDEUMPfW0s3lh/3vmAJYxyDX3ZLN5Y/6Ik6CSMcg+NQIxtJH/I4Hf0Iv3CP2NKN5Q95oG7CCMchZuN8LtOvjyBB84Q0csWDnC7lGzIk9yW92Dn4KfclvdQ5/JL2Jb3Uub2MDg3q4fT/qzR2L3x0WarkcSUZ9OL3Zg3zNprLPW1USWKp51IFFq+ebig/eqlIZIz2HOY3xOtyyNNDv8RDvBUrEoYe0zSREGNtD6+53K80JLzonOPVKE8QIjYfyYwVyIvnxoM8nuUC3AsN2C5wvzLoIdkT8B33a7KJhBi/5CkzUG0WNkcM2ClmDQ7I491iLOK5zVUErIa70SDrvGvtYc6BaEK1zd6LqaIh1q8H0M0e30Jp54JfzcRV49hooQnp8FPOZ6a5bd/mpPOr113Kd97mL3lM+MDEsf0itQwic0P21S3XXoMqSiC265uP6+ndH8vV9Xq6Xa43GMkTEUBF7xk2UFRI1raKHFo8j56MgFkPkWqQXPOM6fITlL1FciSh1m263Qa2O8rq4Nw7rOjC3r8lLrphNFdD4NaQC54we/qEkVphArLZ3mDJm+0NlaR2Zg4CDGrcRAlEcrpzgQHOMTI954b1A85RCiGUhDlA3leBHQENKmAqRPs+RdED9IUUWGU5a28ptVB1iEhO7WsZLJKvCiFXFtFHskECAF9yZq8n8Fl9RxDjuBoCt7frBmbAGfMaVkdAgap7wJWhPcFdaJUtjsJe5WWimiZVA7INoS7R2VQRtDrmVyXKr0NE8uF8QoelX4IEgMsd6KbTsY/gHtJj6Ii0eNPikl5VpXsdIcI/QCCLYkAX4Fxybxs1cQpTRIwXnogEXme5Qd+KU4hIFoqldhDAss8xMl09HfOq5q7K5qY8TkOlBFza41X79L9InqgUpboaApefl4YY5xKkAPvqknJ3edBCNGECoruXspv0KuDOdLqpYO/JP8Oc6mI9EQXs3u9uQfyL3Z3E4vJejugKo5OpAhyYtlNxc1hp2PEvqI+joXD1Whf9hs4xKl1pdAC2vwfS8N68jgRST3v4Zee2TZfRkkTCqqVMCFeJKKBh9r8EU/43DHkvglmE5VHSs712nMTwv/B0/heZZpe46fwRzz0FCcBzvb0A7r3IhtJVRKC23VtjPmnr3xp7//bf3/8DtMd4XEw6AAA="
|