@fluid-experimental/property-changeset 0.51.3 → 0.53.0-46105
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/helpers/typeidHelper.d.ts +2 -2
- package/dist/helpers/typeidHelper.d.ts.map +1 -1
- package/dist/helpers/typeidHelper.js.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/test/tsconfig.tsbuildinfo +2 -2
- package/dist/utils.d.ts +11 -8
- package/dist/utils.d.ts.map +1 -1
- package/dist/utils.js +7 -9
- package/dist/utils.js.map +1 -1
- package/lib/helpers/typeidHelper.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/utils.js +7 -9
- package/lib/utils.js.map +1 -1
- package/package.json +3 -3
|
@@ -53,7 +53,7 @@ export declare namespace TypeIdHelper {
|
|
|
53
53
|
* @param in_typeid - The typeid to process
|
|
54
54
|
* @returns Returns the typeid without context, the context and if we have an enum type
|
|
55
55
|
*/
|
|
56
|
-
function extractContext(in_typeid: string): ExtractedContext;
|
|
56
|
+
function extractContext(in_typeid: string | undefined): ExtractedContext;
|
|
57
57
|
/**
|
|
58
58
|
* Creates a collection typeid string from the
|
|
59
59
|
* typeid and the context.
|
|
@@ -71,7 +71,7 @@ export declare namespace TypeIdHelper {
|
|
|
71
71
|
* @param in_typeid - The typeid to check
|
|
72
72
|
* @returns Is this a reference property typeid?
|
|
73
73
|
*/
|
|
74
|
-
function isReferenceTypeId(in_typeid: string): boolean;
|
|
74
|
+
function isReferenceTypeId(in_typeid: string | undefined): boolean;
|
|
75
75
|
/**
|
|
76
76
|
* Returns the type of the properties a reference points to
|
|
77
77
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeidHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/typeidHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;GAEG;AAQH,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,yBAAiB,YAAY,CAAC;IAC1B;;;;;OAKG;IACH,SAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAU1D;IAED;;;;;MAKE;IACF,SAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;IAED;;;;;OAKG;IACH,SAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGzD;IAED;;;;OAIG;IACH,SAAgB,cAAc,CAAC,SAAS,KAAA,GAAG,gBAAgB,CAU1D;IAED;;;;;GAKD;IACC,SAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,
|
|
1
|
+
{"version":3,"file":"typeidHelper.d.ts","sourceRoot":"","sources":["../../src/helpers/typeidHelper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH;;GAEG;AAQH,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,CAAC,OAAO,WAAW,gBAAgB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,yBAAiB,YAAY,CAAC;IAC1B;;;;;OAKG;IACH,SAAgB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAU1D;IAED;;;;;MAKE;IACF,SAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAE3D;IAED;;;;;OAKG;IACH,SAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAGzD;IAED;;;;OAIG;IACH,SAAgB,cAAc,CAAC,SAAS,KAAA,GAAG,gBAAgB,CAU1D;IAED;;;;;GAKD;IACC,SAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,gBAAgB,CAyC9E;IAED;;;;;;;;;OASG;IACH,SAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,MAAM,CAgBzG;IAED;;;;;OAKG;IACH,SAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAI,OAAO,CAGzE;IAED;;;;;OAKG;IACH,SAAgB,yCAAyC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAQnF;IAED;;;;;OAKG;IACH,SAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAEzD;IAED;;;;;;OAMG;IACH,SAAgB,aAAa,CAAC,SAAS,KAAA,GAAG,MAAM,CAO/C;IAGD;;;;;;;;;OASG;IACH,SAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAsCpF;IAED;;;;OAIG;IACH,SAAgB,mBAAmB,IAAI,MAAM,EAAE,CAE9C;IAED;;;;OAIG;IACH,SAAgB,kBAAkB,IAAI,MAAM,EAAE,CAE7C;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeidHelper.js","sourceRoot":"","sources":["../../src/helpers/typeidHelper.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/**\n * @fileoverview Helper functions to work with typeid strings\n */\n\nimport { TemplateSchema as templateSchemaJson, NativeTypes } from \"../templateSchema\";\n// @ts-ignore\nimport { constants } from \"@fluid-experimental/property-common\";\n\nconst { MSG } = constants;\n\nexport declare interface ExtractedVersion {\n version: string;\n typeidWithoutVersion: string;\n}\n\nexport declare interface ExtractedContext {\n typeid: string;\n context: string;\n isEnum: boolean;\n}\n\n/**\n * Helper for Type IDs\n * @public\n * @description Helper functions to work with typeid strings\n */\nexport namespace TypeIdHelper {\n /**\n * Checks whether the given type is a primitive type.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a base type?\n */\n export function isPrimitiveType(in_typeid: string): boolean {\n const primitiveTypes = templateSchemaJson[\"$defs\"][\"primitive-typeid\"][\"enum\"];\n\n if (in_typeid === undefined || in_typeid === \"\") {\n return false;\n }\n\n return in_typeid.substr(0, 5) === \"enum<\" ||\n in_typeid.substr(0, 10) === \"Reference<\" ||\n primitiveTypes.indexOf(in_typeid) >= 0;\n }\n\n /**\n * Checks whether the given type is a template typeid.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a base template typeid?\n */\n export function isTemplateTypeid(in_typeid: string): boolean {\n return in_typeid.indexOf(\":\") !== -1;\n }\n\n /**\n * Checks whether the given type is a reserved type.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a reserved type?\n */\n export function isReservedType(in_typeid: string): boolean {\n const reservedTypes = templateSchemaJson[\"$defs\"][\"reserved-typeid\"][\"enum\"];\n return reservedTypes.indexOf(in_typeid) >= 0;\n }\n\n /**\n * Extract the version number from the given typeid\n * @param in_typeid The typeid to check against\n * @returns Extracted version\n */\n export function extractVersion(in_typeid): ExtractedVersion {\n if (!in_typeid) {\n throw new Error(MSG.TYPEID_NOT_DEFINED);\n }\n const splitTypeId = in_typeid.split(\"-\");\n\n return {\n version: splitTypeId[1],\n typeidWithoutVersion: splitTypeId[0]\n };\n }\n\n /**\n * Extracts the context from a typeid\n *\n * @param in_typeid - The typeid to process\n * @returns Returns the typeid without context, the context and if we have an enum type\n */\n export function extractContext(in_typeid: string): ExtractedContext {\n const bracketIndex = in_typeid.indexOf(\"<\");\n if (bracketIndex !== -1 &&\n in_typeid[in_typeid.length - 1] === \">\") {\n let typeid = in_typeid.substr(bracketIndex + 1, in_typeid.length - bracketIndex - 2);\n let context = in_typeid.substr(0, bracketIndex);\n\n // Special case to handle collections without a typeid (e.g. \"map<>\", which should\n // be able to support all property types\n if (typeid === \"\") {\n typeid = context !== \"set\" ? \"BaseProperty\" : \"NamedProperty\";\n }\n\n // Special case to handle enums (e.g. array<enum<myType>>)\n let isEnum = false;\n if (context === \"enum\" || typeid.substr(0, 5) === \"enum<\") {\n isEnum = true;\n if (context === \"enum\") {\n context = \"single\";\n } else {\n // remove the `enum<...>` tag to get the raw typeid\n typeid = typeid.substr(5, typeid.length - 6);\n }\n }\n if (context === \"Reference\") {\n typeid = `Reference<${typeid}>`;\n context = \"single\";\n }\n\n return {\n typeid,\n context,\n isEnum\n };\n } else {\n return {\n typeid: in_typeid,\n context: \"single\",\n isEnum: false\n };\n }\n }\n\n /**\n * Creates a collection typeid string from the\n * typeid and the context.\n *\n * @param in_typeid - the typeid in the collection\n * @param in_context - the context\n * @param in_enum - set to true, if the type should get an enum tag\n *\n * @returns The combined typeid string\n */\n export function createSerializationTypeId(in_typeid: string, in_context: string, in_enum: boolean): string { // in_enum\n if (in_typeid === \"BaseProperty\") {\n // Special case for BaseProperties. These get represented as a collection\n // typeid without a child typeid. E.g. map<> instead of map<BaseProperty>\n return `${in_context}<>`;\n } else {\n if (in_enum) {\n if (in_context === \"\" || in_context === \"single\") {\n return `enum<${in_typeid}>`;\n } else {\n return `${in_context}<enum<${in_typeid}>>`;\n }\n } else {\n return `${in_context}<${in_typeid}>`;\n }\n }\n }\n\n /**\n * Checks, whether the supplied typeid is a reference property type id\n *\n * @param in_typeid - The typeid to check\n * @returns Is this a reference property typeid?\n */\n export function isReferenceTypeId(in_typeid: string): boolean { // in_enum\n return in_typeid === \"Reference\" ||\n (in_typeid.substr(0, 10) === \"Reference<\" && in_typeid.substr(-1) === \">\");\n }\n\n /**\n * Returns the type of the properties a reference points to\n *\n * @param in_typeid - The typeid to process\n * @return The type of the referenced property\n */\n export function extractReferenceTargetTypeIdFromReference(in_typeid: string): string { // in_enum\n if (in_typeid.substr(0, 10) === \"Reference<\") {\n // Extract the type from the TypeID\n return in_typeid.substr(10, in_typeid.length - 11);\n } else {\n // This is a typeless reference, we allow all types\n return \"BaseProperty\";\n }\n }\n\n /**\n * Checks whether the given type is a template typeid.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a base template typeid?\n */\n export function isSchemaTypeid(in_typeid: string): boolean {\n return typeof in_typeid === \"string\" && (in_typeid.indexOf(\":\") !== -1);\n }\n\n /**\n * Extracts referenced typeid from input typeid\n *\n * @param in_typeid typeid\n *\n * @return referenced typeid or in_param if it is not a reference\n */\n export function extractTypeId(in_typeid): string {\n const matches = in_typeid.match(/\\<(.*?)\\>/); // eslint-disable-line\n if (matches !== null && matches.length > 0) {\n return matches[0].replace(/[\\<\\>]/gi, \"\"); // eslint-disable-line\n } else {\n return in_typeid;\n }\n }\n\n\n /**\n * Check wether the in_typeid inherits from the in_baseTypeid\n *\n * Note: By default, this also returns true if in_typeid === in_baseTypeid.\n *\n * @param in_typeid - Typeid for which we want to check, whethwe in_baseTypeid is a parent\n * @param in_baseTypeid - The base typeId to check for\n * @throws if in_typeid or in_baseTypeid are not native typeid\n * @returns True if in_baseTypeid is a parent of in_typeid\n */\n export function nativeInheritsFrom(in_typeid: string, in_baseTypeid: string): boolean {\n if (!in_typeid || !in_baseTypeid) {\n throw new Error(MSG.TYPEID_NOT_DEFINED);\n }\n\n if (in_typeid.substr(0, 10) === \"Reference<\") {\n in_typeid = \"Reference\";\n }\n\n if (in_baseTypeid.substr(0, 10) === \"Reference<\") {\n in_baseTypeid = \"Reference\";\n }\n\n if (!NativeTypes[in_typeid]) {\n throw new Error(MSG.TYPEID_NOT_NATIVE + in_typeid);\n }\n\n if (!NativeTypes[in_baseTypeid]) {\n throw new Error(MSG.TYPEID_NOT_NATIVE + in_baseTypeid);\n }\n\n if (in_baseTypeid === \"BaseProperty\" || in_typeid === in_baseTypeid) {\n return true;\n }\n\n if (in_typeid === \"BaseProperty\") {\n return false;\n }\n\n let parents = NativeTypes[in_typeid][\"inherits\"];\n\n // recursively call the function for the parent of the typeid\n for (let i = 0; i < parents.length; i++) {\n if (this.nativeInheritsFrom(parents[i], in_baseTypeid)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * return all primitive typeIds\n *\n * @returns return a list of primitiveTypeIds\n */\n export function getPrimitiveTypeIds(): string[] {\n return templateSchemaJson[\"$defs\"][\"primitive-typeid\"][\"enum\"];\n }\n\n /**\n * return all reserved typeIds\n *\n * @returns return a list of reservedTypeIds\n */\n export function getReservedTypeIds(): string[] {\n return templateSchemaJson[\"$defs\"][\"reserved-typeid\"][\"enum\"];\n }\n};\n"]}
|
|
1
|
+
{"version":3,"file":"typeidHelper.js","sourceRoot":"","sources":["../../src/helpers/typeidHelper.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n/**\n * @fileoverview Helper functions to work with typeid strings\n */\n\nimport { TemplateSchema as templateSchemaJson, NativeTypes } from \"../templateSchema\";\n// @ts-ignore\nimport { constants } from \"@fluid-experimental/property-common\";\n\nconst { MSG } = constants;\n\nexport declare interface ExtractedVersion {\n version: string;\n typeidWithoutVersion: string;\n}\n\nexport declare interface ExtractedContext {\n typeid: string;\n context: string;\n isEnum: boolean;\n}\n\n/**\n * Helper for Type IDs\n * @public\n * @description Helper functions to work with typeid strings\n */\nexport namespace TypeIdHelper {\n /**\n * Checks whether the given type is a primitive type.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a base type?\n */\n export function isPrimitiveType(in_typeid: string): boolean {\n const primitiveTypes = templateSchemaJson[\"$defs\"][\"primitive-typeid\"][\"enum\"];\n\n if (in_typeid === undefined || in_typeid === \"\") {\n return false;\n }\n\n return in_typeid.substr(0, 5) === \"enum<\" ||\n in_typeid.substr(0, 10) === \"Reference<\" ||\n primitiveTypes.indexOf(in_typeid) >= 0;\n }\n\n /**\n * Checks whether the given type is a template typeid.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a base template typeid?\n */\n export function isTemplateTypeid(in_typeid: string): boolean {\n return in_typeid.indexOf(\":\") !== -1;\n }\n\n /**\n * Checks whether the given type is a reserved type.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a reserved type?\n */\n export function isReservedType(in_typeid: string): boolean {\n const reservedTypes = templateSchemaJson[\"$defs\"][\"reserved-typeid\"][\"enum\"];\n return reservedTypes.indexOf(in_typeid) >= 0;\n }\n\n /**\n * Extract the version number from the given typeid\n * @param in_typeid The typeid to check against\n * @returns Extracted version\n */\n export function extractVersion(in_typeid): ExtractedVersion {\n if (!in_typeid) {\n throw new Error(MSG.TYPEID_NOT_DEFINED);\n }\n const splitTypeId = in_typeid.split(\"-\");\n\n return {\n version: splitTypeId[1],\n typeidWithoutVersion: splitTypeId[0]\n };\n }\n\n /**\n * Extracts the context from a typeid\n *\n * @param in_typeid - The typeid to process\n * @returns Returns the typeid without context, the context and if we have an enum type\n */\n export function extractContext(in_typeid: string | undefined): ExtractedContext {\n const bracketIndex = in_typeid.indexOf(\"<\");\n if (bracketIndex !== -1 &&\n in_typeid[in_typeid.length - 1] === \">\") {\n let typeid = in_typeid.substr(bracketIndex + 1, in_typeid.length - bracketIndex - 2);\n let context = in_typeid.substr(0, bracketIndex);\n\n // Special case to handle collections without a typeid (e.g. \"map<>\", which should\n // be able to support all property types\n if (typeid === \"\") {\n typeid = context !== \"set\" ? \"BaseProperty\" : \"NamedProperty\";\n }\n\n // Special case to handle enums (e.g. array<enum<myType>>)\n let isEnum = false;\n if (context === \"enum\" || typeid.substr(0, 5) === \"enum<\") {\n isEnum = true;\n if (context === \"enum\") {\n context = \"single\";\n } else {\n // remove the `enum<...>` tag to get the raw typeid\n typeid = typeid.substr(5, typeid.length - 6);\n }\n }\n if (context === \"Reference\") {\n typeid = `Reference<${typeid}>`;\n context = \"single\";\n }\n\n return {\n typeid,\n context,\n isEnum\n };\n } else {\n return {\n typeid: in_typeid,\n context: \"single\",\n isEnum: false\n };\n }\n }\n\n /**\n * Creates a collection typeid string from the\n * typeid and the context.\n *\n * @param in_typeid - the typeid in the collection\n * @param in_context - the context\n * @param in_enum - set to true, if the type should get an enum tag\n *\n * @returns The combined typeid string\n */\n export function createSerializationTypeId(in_typeid: string, in_context: string, in_enum: boolean): string { // in_enum\n if (in_typeid === \"BaseProperty\") {\n // Special case for BaseProperties. These get represented as a collection\n // typeid without a child typeid. E.g. map<> instead of map<BaseProperty>\n return `${in_context}<>`;\n } else {\n if (in_enum) {\n if (in_context === \"\" || in_context === \"single\") {\n return `enum<${in_typeid}>`;\n } else {\n return `${in_context}<enum<${in_typeid}>>`;\n }\n } else {\n return `${in_context}<${in_typeid}>`;\n }\n }\n }\n\n /**\n * Checks, whether the supplied typeid is a reference property type id\n *\n * @param in_typeid - The typeid to check\n * @returns Is this a reference property typeid?\n */\n export function isReferenceTypeId(in_typeid: string | undefined ): boolean { // in_enum\n return in_typeid === \"Reference\" ||\n (in_typeid.substr(0, 10) === \"Reference<\" && in_typeid.substr(-1) === \">\");\n }\n\n /**\n * Returns the type of the properties a reference points to\n *\n * @param in_typeid - The typeid to process\n * @return The type of the referenced property\n */\n export function extractReferenceTargetTypeIdFromReference(in_typeid: string): string { // in_enum\n if (in_typeid.substr(0, 10) === \"Reference<\") {\n // Extract the type from the TypeID\n return in_typeid.substr(10, in_typeid.length - 11);\n } else {\n // This is a typeless reference, we allow all types\n return \"BaseProperty\";\n }\n }\n\n /**\n * Checks whether the given type is a template typeid.\n *\n * @param in_typeid - The typeid we want to check\n * @returns Is this a base template typeid?\n */\n export function isSchemaTypeid(in_typeid: string): boolean {\n return typeof in_typeid === \"string\" && (in_typeid.indexOf(\":\") !== -1);\n }\n\n /**\n * Extracts referenced typeid from input typeid\n *\n * @param in_typeid typeid\n *\n * @return referenced typeid or in_param if it is not a reference\n */\n export function extractTypeId(in_typeid): string {\n const matches = in_typeid.match(/\\<(.*?)\\>/); // eslint-disable-line\n if (matches !== null && matches.length > 0) {\n return matches[0].replace(/[\\<\\>]/gi, \"\"); // eslint-disable-line\n } else {\n return in_typeid;\n }\n }\n\n\n /**\n * Check wether the in_typeid inherits from the in_baseTypeid\n *\n * Note: By default, this also returns true if in_typeid === in_baseTypeid.\n *\n * @param in_typeid - Typeid for which we want to check, whethwe in_baseTypeid is a parent\n * @param in_baseTypeid - The base typeId to check for\n * @throws if in_typeid or in_baseTypeid are not native typeid\n * @returns True if in_baseTypeid is a parent of in_typeid\n */\n export function nativeInheritsFrom(in_typeid: string, in_baseTypeid: string): boolean {\n if (!in_typeid || !in_baseTypeid) {\n throw new Error(MSG.TYPEID_NOT_DEFINED);\n }\n\n if (in_typeid.substr(0, 10) === \"Reference<\") {\n in_typeid = \"Reference\";\n }\n\n if (in_baseTypeid.substr(0, 10) === \"Reference<\") {\n in_baseTypeid = \"Reference\";\n }\n\n if (!NativeTypes[in_typeid]) {\n throw new Error(MSG.TYPEID_NOT_NATIVE + in_typeid);\n }\n\n if (!NativeTypes[in_baseTypeid]) {\n throw new Error(MSG.TYPEID_NOT_NATIVE + in_baseTypeid);\n }\n\n if (in_baseTypeid === \"BaseProperty\" || in_typeid === in_baseTypeid) {\n return true;\n }\n\n if (in_typeid === \"BaseProperty\") {\n return false;\n }\n\n let parents = NativeTypes[in_typeid][\"inherits\"];\n\n // recursively call the function for the parent of the typeid\n for (let i = 0; i < parents.length; i++) {\n if (this.nativeInheritsFrom(parents[i], in_baseTypeid)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * return all primitive typeIds\n *\n * @returns return a list of primitiveTypeIds\n */\n export function getPrimitiveTypeIds(): string[] {\n return templateSchemaJson[\"$defs\"][\"primitive-typeid\"][\"enum\"];\n }\n\n /**\n * return all reserved typeIds\n *\n * @returns return a list of reservedTypeIds\n */\n export function getReservedTypeIds(): string[] {\n return templateSchemaJson[\"$defs\"][\"reserved-typeid\"][\"enum\"];\n }\n};\n"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -4,11 +4,12 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import { ChangeSet, SerializedChangeSet } from "./changeset";
|
|
6
6
|
import { ArrayChangeSetIterator } from "./changeset_operations/arrayChangesetIterator";
|
|
7
|
-
import { TypeIdHelper } from "./helpers/typeidHelper";
|
|
7
|
+
import { ExtractedContext, TypeIdHelper } from "./helpers/typeidHelper";
|
|
8
8
|
import { PathHelper } from "./pathHelper";
|
|
9
9
|
import { rebaseToRemoteChanges } from "./rebase";
|
|
10
10
|
import { TemplateSchema } from "./templateSchema";
|
|
11
11
|
import { TemplateValidator } from "./templateValidator";
|
|
12
12
|
import { Utils } from "./utils";
|
|
13
|
-
|
|
13
|
+
declare const TraversalContext: typeof Utils.TraversalContext;
|
|
14
|
+
export { TemplateSchema, TemplateValidator, TypeIdHelper, ChangeSet, Utils, PathHelper, ArrayChangeSetIterator, rebaseToRemoteChanges, SerializedChangeSet, TraversalContext, ExtractedContext };
|
|
14
15
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,KAAK,EAAC,MAAM,SAAS,CAAC;AAE/B,QAAA,MAAQ,gBAAgB,+BAAU,CAAC;AAEnC,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,KAAK,EACL,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EACrB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EACnB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.rebaseToRemoteChanges = exports.ArrayChangeSetIterator = exports.PathHelper = exports.Utils = exports.ChangeSet = exports.TypeIdHelper = exports.TemplateValidator = exports.TemplateSchema = void 0;
|
|
3
|
+
exports.TraversalContext = exports.rebaseToRemoteChanges = exports.ArrayChangeSetIterator = exports.PathHelper = exports.Utils = exports.ChangeSet = exports.TypeIdHelper = exports.TemplateValidator = exports.TemplateSchema = void 0;
|
|
4
4
|
/*!
|
|
5
5
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
6
6
|
* Licensed under the MIT License.
|
|
@@ -21,4 +21,6 @@ const templateValidator_1 = require("./templateValidator");
|
|
|
21
21
|
Object.defineProperty(exports, "TemplateValidator", { enumerable: true, get: function () { return templateValidator_1.TemplateValidator; } });
|
|
22
22
|
const utils_1 = require("./utils");
|
|
23
23
|
Object.defineProperty(exports, "Utils", { enumerable: true, get: function () { return utils_1.Utils; } });
|
|
24
|
+
const { TraversalContext } = utils_1.Utils;
|
|
25
|
+
exports.TraversalContext = TraversalContext;
|
|
24
26
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,2CAA6D;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,2CAA6D;AAezD,0FAfK,qBAAS,OAeL;AAdb,0FAAuF;AAiBnF,uGAjBK,+CAAsB,OAiBL;AAhB1B,yDAAwE;AAYpE,6FAZuB,2BAAY,OAYvB;AAXhB,6CAA0C;AActC,2FAdK,uBAAU,OAcL;AAbd,qCAAiD;AAe7C,sGAfK,8BAAqB,OAeL;AAdzB,qDAAkD;AAO9C,+FAPK,+BAAc,OAOL;AANlB,2DAAwD;AAOpD,kGAPK,qCAAiB,OAOL;AANrB,mCAA+B;AAS3B,sFATK,aAAK,OASL;AAPT,MAAM,EAAE,gBAAgB,EAAE,GAAG,aAAK,CAAC;AAY/B,4CAAgB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nimport { ChangeSet, SerializedChangeSet } from \"./changeset\";\nimport { ArrayChangeSetIterator } from \"./changeset_operations/arrayChangesetIterator\";\nimport { ExtractedContext, TypeIdHelper } from \"./helpers/typeidHelper\";\nimport { PathHelper } from \"./pathHelper\";\nimport { rebaseToRemoteChanges } from \"./rebase\";\nimport { TemplateSchema } from \"./templateSchema\";\nimport { TemplateValidator } from \"./templateValidator\";\nimport { Utils} from \"./utils\";\n\nconst { TraversalContext } = Utils;\n\nexport {\n TemplateSchema,\n TemplateValidator,\n TypeIdHelper,\n ChangeSet,\n Utils,\n PathHelper,\n ArrayChangeSetIterator,\n rebaseToRemoteChanges,\n SerializedChangeSet,\n TraversalContext,\n ExtractedContext\n};\n"]}
|
|
@@ -287,8 +287,8 @@
|
|
|
287
287
|
"affectsGlobalScope": false
|
|
288
288
|
},
|
|
289
289
|
"../helpers/typeidHelper.d.ts": {
|
|
290
|
-
"version": "
|
|
291
|
-
"signature": "
|
|
290
|
+
"version": "b08594f0655ff58c74cee26a7ca80e0cc640dc567c190f51a2cdda3db04b89fb",
|
|
291
|
+
"signature": "b08594f0655ff58c74cee26a7ca80e0cc640dc567c190f51a2cdda3db04b89fb",
|
|
292
292
|
"affectsGlobalScope": false
|
|
293
293
|
},
|
|
294
294
|
"../../src/test/schemaValidator.ts": {
|
package/dist/utils.d.ts
CHANGED
|
@@ -2,14 +2,14 @@ import { ErrorCallback } from "async";
|
|
|
2
2
|
import { SerializedChangeSet } from "./changeset";
|
|
3
3
|
import { ExtractedContext } from "./helpers/typeidHelper";
|
|
4
4
|
import { PathTree } from "./pathHelper";
|
|
5
|
-
declare type OperationType = "modify" | "insert" | "remove";
|
|
6
|
-
declare type PropertyContainerType = "array" | "map" | "set" | "root" | "NodeProperty" | "template";
|
|
7
5
|
/**
|
|
8
6
|
* Utils
|
|
9
7
|
* @alias property-changeset.Utils
|
|
10
8
|
* @class
|
|
11
9
|
*/
|
|
12
10
|
export declare namespace Utils {
|
|
11
|
+
export type OperationType = "modify" | "insert" | "remove";
|
|
12
|
+
export type PropertyContainerType = "array" | "map" | "set" | "root" | "NodeProperty" | "template";
|
|
13
13
|
interface TraversalOptions {
|
|
14
14
|
/**
|
|
15
15
|
* The(pre-order) callback function that is invoked for each property
|
|
@@ -34,6 +34,12 @@ export declare namespace Utils {
|
|
|
34
34
|
*/
|
|
35
35
|
rootTypeid?: string;
|
|
36
36
|
}
|
|
37
|
+
interface TraversalContextParams {
|
|
38
|
+
fullPostPath?: string;
|
|
39
|
+
fullPath?: string;
|
|
40
|
+
propertyContainerType?: PropertyContainerType;
|
|
41
|
+
operationType?: OperationType;
|
|
42
|
+
}
|
|
37
43
|
/**
|
|
38
44
|
* Provides traversal information when parsing ChangeSets via the traverseChangeSetRecursively function.
|
|
39
45
|
*/
|
|
@@ -59,7 +65,7 @@ export declare namespace Utils {
|
|
|
59
65
|
_containerStack: string[];
|
|
60
66
|
_userStack: any[];
|
|
61
67
|
_operationType: OperationType;
|
|
62
|
-
constructor();
|
|
68
|
+
constructor(params?: TraversalContextParams);
|
|
63
69
|
/**
|
|
64
70
|
* @returns Whether it's traversing or not
|
|
65
71
|
*/
|
|
@@ -246,9 +252,7 @@ export declare namespace Utils {
|
|
|
246
252
|
*
|
|
247
253
|
* At least one of the pre- or post-order callbacks must be specified. Both may be specified as well.
|
|
248
254
|
*
|
|
249
|
-
* @param
|
|
250
|
-
|
|
251
|
-
* @alias property-changeset.Utils.traverseChangeSetRecursively
|
|
255
|
+
* @param in_changeSet - The ChangeSet to process
|
|
252
256
|
*/
|
|
253
257
|
export function traverseChangeSetRecursively(in_changeSet: SerializedChangeSet, in_params?: TraversalOptions): void;
|
|
254
258
|
/**
|
|
@@ -257,7 +261,7 @@ export declare namespace Utils {
|
|
|
257
261
|
* At least one of the pre- or post-order callbacks must be specified. Both may be specified as well.
|
|
258
262
|
*
|
|
259
263
|
* @param in_changeSet - The ChangeSet to process
|
|
260
|
-
* @param
|
|
264
|
+
* @param in_finalizer - A callback when traversal is completed
|
|
261
265
|
*
|
|
262
266
|
*/
|
|
263
267
|
export function traverseChangeSetRecursivelyAsync(in_changeSet: SerializedChangeSet, in_params?: TraversalOptions, in_finalizer?: (any: any) => any): void;
|
|
@@ -496,5 +500,4 @@ export declare namespace Utils {
|
|
|
496
500
|
};
|
|
497
501
|
export {};
|
|
498
502
|
}
|
|
499
|
-
export {};
|
|
500
503
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAMA,OAAO,EAA4B,aAAa,EAA+B,MAAM,OAAO,CAAC;AAW7F,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAgB,MAAM,wBAAwB,CAAC;AAExE,OAAO,EAAc,QAAQ,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/utils.js
CHANGED
|
@@ -647,8 +647,8 @@ var Utils;
|
|
|
647
647
|
* Provides traversal information when parsing ChangeSets via the traverseChangeSetRecursively function.
|
|
648
648
|
*/
|
|
649
649
|
class TraversalContext {
|
|
650
|
-
constructor() {
|
|
651
|
-
this._fullPath = "";
|
|
650
|
+
constructor(params = {}) {
|
|
651
|
+
this._fullPath = params.fullPath || "";
|
|
652
652
|
this._lastSegment = "";
|
|
653
653
|
this._lastSegmentString = "";
|
|
654
654
|
this._typeid = undefined;
|
|
@@ -657,19 +657,19 @@ var Utils;
|
|
|
657
657
|
this._traversalStopped = false;
|
|
658
658
|
this._nestedChangeSet = undefined;
|
|
659
659
|
this._parentNestedChangeSet = undefined;
|
|
660
|
-
this._propertyContainerType = "root";
|
|
660
|
+
this._propertyContainerType = params.propertyContainerType || "root";
|
|
661
661
|
this._arrayLocalIndex = undefined;
|
|
662
662
|
this._arrayOperationIndex = undefined;
|
|
663
663
|
this._arrayOperationOffset = undefined;
|
|
664
664
|
this._arrayIteratorOffset = undefined;
|
|
665
|
-
this._fullPostPath = "";
|
|
665
|
+
this._fullPostPath = params.fullPostPath || "";
|
|
666
666
|
this._stackDepth = 0;
|
|
667
667
|
this._typeStack = [];
|
|
668
668
|
this._parentStack = [];
|
|
669
669
|
this._containerStack = [];
|
|
670
670
|
this._userStack = [];
|
|
671
671
|
// By default, operations are modify operations
|
|
672
|
-
this._operationType = "modify";
|
|
672
|
+
this._operationType = params.operationType || "modify";
|
|
673
673
|
}
|
|
674
674
|
/**
|
|
675
675
|
* @returns Whether it's traversing or not
|
|
@@ -979,9 +979,7 @@ var Utils;
|
|
|
979
979
|
*
|
|
980
980
|
* At least one of the pre- or post-order callbacks must be specified. Both may be specified as well.
|
|
981
981
|
*
|
|
982
|
-
* @param
|
|
983
|
-
|
|
984
|
-
* @alias property-changeset.Utils.traverseChangeSetRecursively
|
|
982
|
+
* @param in_changeSet - The ChangeSet to process
|
|
985
983
|
*/
|
|
986
984
|
function traverseChangeSetRecursively(in_changeSet, in_params) {
|
|
987
985
|
property_common_1.ConsoleUtils.assert(in_params.preCallback || in_params.postCallback, MSG.MISSING_PRE_POST_CALLBACK);
|
|
@@ -1018,7 +1016,7 @@ var Utils;
|
|
|
1018
1016
|
* At least one of the pre- or post-order callbacks must be specified. Both may be specified as well.
|
|
1019
1017
|
*
|
|
1020
1018
|
* @param in_changeSet - The ChangeSet to process
|
|
1021
|
-
* @param
|
|
1019
|
+
* @param in_finalizer - A callback when traversal is completed
|
|
1022
1020
|
*
|
|
1023
1021
|
*/
|
|
1024
1022
|
function traverseChangeSetRecursivelyAsync(in_changeSet, in_params, in_finalizer) {
|