@fluid-experimental/property-changeset 0.52.0 → 0.54.0-47413
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 +237 -207
- 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 +4 -4
|
@@ -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":"AAAA;;;GAGG;AACH;;GAEG;AAEH,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACtF,aAAa;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,qCAAqC,CAAC;AAEhE,MAAM,EAAE,GAAG,EAAE,GAAG,SAAS,CAAC;AAa1B;;;;GAIG;AACH,MAAM,KAAW,YAAY,CA+P5B;AA/PD,WAAiB,YAAY;IACzB;;;;;OAKG;IACH,SAAgB,eAAe,CAAC,SAAiB;QAC7C,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;QAE/E,IAAI,SAAS,KAAK,SAAS,IAAI,SAAS,KAAK,EAAE,EAAE;YAC7C,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO;YACrC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY;YACxC,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAVe,4BAAe,kBAU9B,CAAA;IAED;;;;;MAKE;IACF,SAAgB,gBAAgB,CAAC,SAAiB;QAC9C,OAAO,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC;IAFe,6BAAgB,mBAE/B,CAAA;IAED;;;;;OAKG;IACH,SAAgB,cAAc,CAAC,SAAiB;QAC5C,MAAM,aAAa,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;QAC7E,OAAO,aAAa,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAHe,2BAAc,iBAG7B,CAAA;IAED;;;;OAIG;IACH,SAAgB,cAAc,CAAC,SAAS;QACpC,IAAI,CAAC,SAAS,EAAE;YACZ,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SAC3C;QACD,MAAM,WAAW,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEzC,OAAO;YACH,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;YACvB,oBAAoB,EAAE,WAAW,CAAC,CAAC,CAAC;SACvC,CAAC;IACN,CAAC;IAVe,2BAAc,iBAU7B,CAAA;IAED;;;;;GAKD;IACC,SAAgB,cAAc,CAAC,SAA6B;QACxD,MAAM,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QAC5C,IAAI,YAAY,KAAK,CAAC,CAAC;YACnB,SAAS,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;YACzC,IAAI,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,YAAY,GAAG,CAAC,CAAC,CAAC;YACrF,IAAI,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;YAEhD,kFAAkF;YAClF,wCAAwC;YACxC,IAAI,MAAM,KAAK,EAAE,EAAE;gBACf,MAAM,GAAG,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,eAAe,CAAC;aACjE;YAED,0DAA0D;YAC1D,IAAI,MAAM,GAAG,KAAK,CAAC;YACnB,IAAI,OAAO,KAAK,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,EAAE;gBACvD,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,OAAO,KAAK,MAAM,EAAE;oBACpB,OAAO,GAAG,QAAQ,CAAC;iBACtB;qBAAM;oBACH,mDAAmD;oBACnD,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;iBAChD;aACJ;YACD,IAAI,OAAO,KAAK,WAAW,EAAE;gBACzB,MAAM,GAAG,aAAa,MAAM,GAAG,CAAC;gBAChC,OAAO,GAAG,QAAQ,CAAC;aACtB;YAED,OAAO;gBACH,MAAM;gBACN,OAAO;gBACP,MAAM;aACT,CAAC;SACL;aAAM;YACH,OAAO;gBACH,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,QAAQ;gBACjB,MAAM,EAAE,KAAK;aAChB,CAAC;SACL;IACL,CAAC;IAzCe,2BAAc,iBAyC7B,CAAA;IAED;;;;;;;;;OASG;IACH,SAAgB,yBAAyB,CAAC,SAAiB,EAAE,UAAkB,EAAE,OAAgB;QAC7F,IAAI,SAAS,KAAK,cAAc,EAAE;YAC9B,yEAAyE;YACzE,yEAAyE;YACzE,OAAO,GAAG,UAAU,IAAI,CAAC;SAC5B;aAAM;YACH,IAAI,OAAO,EAAE;gBACT,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,KAAK,QAAQ,EAAE;oBAC9C,OAAO,QAAQ,SAAS,GAAG,CAAC;iBAC/B;qBAAM;oBACH,OAAO,GAAG,UAAU,SAAS,SAAS,IAAI,CAAC;iBAC9C;aACJ;iBAAM;gBACH,OAAO,GAAG,UAAU,IAAI,SAAS,GAAG,CAAC;aACxC;SACJ;IACL,CAAC;IAhBe,sCAAyB,4BAgBxC,CAAA;IAED;;;;;OAKG;IACH,SAAgB,iBAAiB,CAAC,SAA6B;QAC3D,OAAO,SAAS,KAAK,WAAW;YAC5B,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;IACnF,CAAC;IAHe,8BAAiB,oBAGhC,CAAA;IAED;;;;;OAKG;IACH,SAAgB,yCAAyC,CAAC,SAAiB;QACvE,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE;YAC1C,mCAAmC;YACnC,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;SACtD;aAAM;YACH,mDAAmD;YACnD,OAAO,cAAc,CAAC;SACzB;IACL,CAAC;IARe,sDAAyC,4CAQxD,CAAA;IAED;;;;;OAKG;IACH,SAAgB,cAAc,CAAC,SAAiB;QAC5C,OAAO,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAFe,2BAAc,iBAE7B,CAAA;IAED;;;;;;OAMG;IACH,SAAgB,aAAa,CAAC,SAAS;QACnC,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,sBAAsB;QACpE,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YACxC,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB;SACpE;aAAM;YACH,OAAO,SAAS,CAAC;SACpB;IACL,CAAC;IAPe,0BAAa,gBAO5B,CAAA;IAGD;;;;;;;;;OASG;IACH,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,aAAqB;QACvE,IAAI,CAAC,SAAS,IAAI,CAAC,aAAa,EAAE;YAC9B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;SAC3C;QAED,IAAI,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE;YAC1C,SAAS,GAAG,WAAW,CAAC;SAC3B;QAED,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,YAAY,EAAE;YAC9C,aAAa,GAAG,WAAW,CAAC;SAC/B;QAED,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;YACzB,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,SAAS,CAAC,CAAC;SACtD;QAED,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE;YAC7B,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,iBAAiB,GAAG,aAAa,CAAC,CAAC;SAC1D;QAED,IAAI,aAAa,KAAK,cAAc,IAAI,SAAS,KAAK,aAAa,EAAE;YACjE,OAAO,IAAI,CAAC;SACf;QAED,IAAI,SAAS,KAAK,cAAc,EAAE;YAC9B,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,OAAO,GAAG,WAAW,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,CAAC;QAEjD,6DAA6D;QAC7D,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,EAAE;gBACpD,OAAO,IAAI,CAAC;aACf;SACJ;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAtCe,+BAAkB,qBAsCjC,CAAA;IAED;;;;OAIG;IACH,SAAgB,mBAAmB;QAC/B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,kBAAkB,CAAC,CAAC,MAAM,CAAC,CAAC;IACnE,CAAC;IAFe,gCAAmB,sBAElC,CAAA;IAED;;;;OAIG;IACH,SAAgB,kBAAkB;QAC9B,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAC;IAClE,CAAC;IAFe,+BAAkB,qBAEjC,CAAA;AACL,CAAC,EA/PgB,YAAY,KAAZ,YAAY,QA+P5B;AAAA,CAAC","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/lib/index.js
CHANGED
|
@@ -10,5 +10,6 @@ import { rebaseToRemoteChanges } from "./rebase";
|
|
|
10
10
|
import { TemplateSchema } from "./templateSchema";
|
|
11
11
|
import { TemplateValidator } from "./templateValidator";
|
|
12
12
|
import { Utils } from "./utils";
|
|
13
|
-
|
|
13
|
+
const { TraversalContext } = Utils;
|
|
14
|
+
export { TemplateSchema, TemplateValidator, TypeIdHelper, ChangeSet, Utils, PathHelper, ArrayChangeSetIterator, rebaseToRemoteChanges, TraversalContext };
|
|
14
15
|
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,SAAS,EAAuB,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,+CAA+C,CAAC;AACvF,OAAO,EAAoB,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,MAAM,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC;AAEnC,OAAO,EACH,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,KAAK,EACL,UAAU,EACV,sBAAsB,EACtB,qBAAqB,EAErB,gBAAgB,EAEnB,CAAC","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"]}
|
package/lib/utils.js
CHANGED
|
@@ -641,8 +641,8 @@ export var Utils;
|
|
|
641
641
|
* Provides traversal information when parsing ChangeSets via the traverseChangeSetRecursively function.
|
|
642
642
|
*/
|
|
643
643
|
class TraversalContext {
|
|
644
|
-
constructor() {
|
|
645
|
-
this._fullPath = "";
|
|
644
|
+
constructor(params = {}) {
|
|
645
|
+
this._fullPath = params.fullPath || "";
|
|
646
646
|
this._lastSegment = "";
|
|
647
647
|
this._lastSegmentString = "";
|
|
648
648
|
this._typeid = undefined;
|
|
@@ -651,19 +651,19 @@ export var Utils;
|
|
|
651
651
|
this._traversalStopped = false;
|
|
652
652
|
this._nestedChangeSet = undefined;
|
|
653
653
|
this._parentNestedChangeSet = undefined;
|
|
654
|
-
this._propertyContainerType = "root";
|
|
654
|
+
this._propertyContainerType = params.propertyContainerType || "root";
|
|
655
655
|
this._arrayLocalIndex = undefined;
|
|
656
656
|
this._arrayOperationIndex = undefined;
|
|
657
657
|
this._arrayOperationOffset = undefined;
|
|
658
658
|
this._arrayIteratorOffset = undefined;
|
|
659
|
-
this._fullPostPath = "";
|
|
659
|
+
this._fullPostPath = params.fullPostPath || "";
|
|
660
660
|
this._stackDepth = 0;
|
|
661
661
|
this._typeStack = [];
|
|
662
662
|
this._parentStack = [];
|
|
663
663
|
this._containerStack = [];
|
|
664
664
|
this._userStack = [];
|
|
665
665
|
// By default, operations are modify operations
|
|
666
|
-
this._operationType = "modify";
|
|
666
|
+
this._operationType = params.operationType || "modify";
|
|
667
667
|
}
|
|
668
668
|
/**
|
|
669
669
|
* @returns Whether it's traversing or not
|
|
@@ -973,9 +973,7 @@ export var Utils;
|
|
|
973
973
|
*
|
|
974
974
|
* At least one of the pre- or post-order callbacks must be specified. Both may be specified as well.
|
|
975
975
|
*
|
|
976
|
-
* @param
|
|
977
|
-
|
|
978
|
-
* @alias property-changeset.Utils.traverseChangeSetRecursively
|
|
976
|
+
* @param in_changeSet - The ChangeSet to process
|
|
979
977
|
*/
|
|
980
978
|
function traverseChangeSetRecursively(in_changeSet, in_params) {
|
|
981
979
|
ConsoleUtils.assert(in_params.preCallback || in_params.postCallback, MSG.MISSING_PRE_POST_CALLBACK);
|
|
@@ -1012,7 +1010,7 @@ export var Utils;
|
|
|
1012
1010
|
* At least one of the pre- or post-order callbacks must be specified. Both may be specified as well.
|
|
1013
1011
|
*
|
|
1014
1012
|
* @param in_changeSet - The ChangeSet to process
|
|
1015
|
-
* @param
|
|
1013
|
+
* @param in_finalizer - A callback when traversal is completed
|
|
1016
1014
|
*
|
|
1017
1015
|
*/
|
|
1018
1016
|
function traverseChangeSetRecursivelyAsync(in_changeSet, in_params, in_finalizer) {
|