@intlayer/core 6.1.3 → 6.1.5

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.
@@ -26,6 +26,7 @@ __reExport(index_exports, require('./utils/checkIsURLAbsolute.cjs'), module.expo
26
26
  __reExport(index_exports, require('./utils/intl.cjs'), module.exports);
27
27
  __reExport(index_exports, require('./utils/isSameKeyPath.cjs'), module.exports);
28
28
  __reExport(index_exports, require('./utils/isValidReactElement.cjs'), module.exports);
29
+ __reExport(index_exports, require('./utils/parseYaml.cjs'), module.exports);
29
30
  // Annotate the CommonJS export names for ESM import in node:
30
31
  0 && (module.exports = {
31
32
  ...require('./deepTranformPlugins/index.cjs'),
@@ -38,6 +39,7 @@ __reExport(index_exports, require('./utils/isValidReactElement.cjs'), module.exp
38
39
  ...require('./utils/checkIsURLAbsolute.cjs'),
39
40
  ...require('./utils/intl.cjs'),
40
41
  ...require('./utils/isSameKeyPath.cjs'),
41
- ...require('./utils/isValidReactElement.cjs')
42
+ ...require('./utils/isValidReactElement.cjs'),
43
+ ...require('./utils/parseYaml.cjs')
42
44
  });
43
45
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './deepTranformPlugins';\nexport * from './dictionaryManipulator/index';\nexport * from './formatters/index';\nexport * from './interpreter/index';\nexport * from './localization/index';\nexport * from './transpiler/index';\nexport * from './types/index';\nexport * from './utils/checkIsURLAbsolute';\nexport * from './utils/intl';\nexport * from './utils/isSameKeyPath';\nexport * from './utils/isValidReactElement';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,kCAAd;AACA,0BAAc,0CADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,gCAHd;AAIA,0BAAc,iCAJd;AAKA,0BAAc,+BALd;AAMA,0BAAc,0BANd;AAOA,0BAAc,uCAPd;AAQA,0BAAc,yBARd;AASA,0BAAc,kCATd;AAUA,0BAAc,wCAVd;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './deepTranformPlugins';\nexport * from './dictionaryManipulator/index';\nexport * from './formatters/index';\nexport * from './interpreter/index';\nexport * from './localization/index';\nexport * from './transpiler/index';\nexport * from './types/index';\nexport * from './utils/checkIsURLAbsolute';\nexport * from './utils/intl';\nexport * from './utils/isSameKeyPath';\nexport * from './utils/isValidReactElement';\nexport * from './utils/parseYaml';\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,0BAAc,kCAAd;AACA,0BAAc,0CADd;AAEA,0BAAc,+BAFd;AAGA,0BAAc,gCAHd;AAIA,0BAAc,iCAJd;AAKA,0BAAc,+BALd;AAMA,0BAAc,0BANd;AAOA,0BAAc,uCAPd;AAQA,0BAAc,yBARd;AASA,0BAAc,kCATd;AAUA,0BAAc,wCAVd;AAWA,0BAAc,8BAXd;","names":[]}
@@ -21,23 +21,7 @@ __export(getMarkdownMetadata_exports, {
21
21
  getMarkdownMetadata: () => getMarkdownMetadata
22
22
  });
23
23
  module.exports = __toCommonJS(getMarkdownMetadata_exports);
24
- const parseToObject = (input) => {
25
- let normalizedInput = input.trim().replace(/^\[/, "[").replace(/^\{/, "{").replace(/\]$/, "]").replace(/\}$/, "}").replace(/([\w\d_]+)\s*:/g, '"$1":').replace(/:\s*([a-zA-Z_][\w\d_]*)/g, ': "$1"');
26
- normalizedInput = normalizedInput.replace(
27
- /\[([^\[\]]+?)\]/g,
28
- (_match, arrayContent) => {
29
- const newContent = arrayContent.split(",").map((item) => {
30
- const trimmed = item.trim();
31
- if (trimmed.startsWith('"') && trimmed.endsWith('"') || !isNaN(Number(trimmed))) {
32
- return trimmed;
33
- }
34
- return `"${trimmed}"`;
35
- }).join(", ");
36
- return `[${newContent}]`;
37
- }
38
- );
39
- return JSON.parse(normalizedInput);
40
- };
24
+ var import_parseYaml = require('../../utils/parseYaml.cjs');
41
25
  const getMarkdownMetadata = (markdown) => {
42
26
  try {
43
27
  const lines = markdown.split(/\r?\n/);
@@ -84,7 +68,7 @@ const getMarkdownMetadata = (markdown) => {
84
68
  currentArrayItems = [];
85
69
  } else {
86
70
  try {
87
- metadata[key] = parseToObject(value);
71
+ metadata[key] = (0, import_parseYaml.parseYaml)(value);
88
72
  } catch (e) {
89
73
  metadata[key] = value;
90
74
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"sourcesContent":["const parseToObject = <T = any>(input: string): T | null => {\n // Normalize different bracket types and keys/values\n let normalizedInput = input\n .trim()\n .replace(/^\\[/, '[') // Keep array brackets\n .replace(/^\\{/, '{') // Keep object brackets\n .replace(/\\]$/, ']') // Keep array brackets\n .replace(/\\}$/, '}') // Keep object brackets\n .replace(/([\\w\\d_]+)\\s*:/g, '\"$1\":') // Ensure JSON-valid keys (e.g., key: -> \"key\":)\n .replace(/:\\s*([a-zA-Z_][\\w\\d_]*)/g, ': \"$1\"'); // Handle unquoted string values\n\n // Fix arrays with unquoted items (e.g., [content, anotherContent])\n normalizedInput = normalizedInput.replace(\n /\\[([^\\[\\]]+?)\\]/g,\n (_match, arrayContent) => {\n const newContent = (arrayContent as string)\n .split(',')\n .map((item) => {\n const trimmed = item.trim();\n // If already quoted or is a valid number, return as is.\n if (\n (trimmed.startsWith('\"') && trimmed.endsWith('\"')) ||\n !isNaN(Number(trimmed))\n ) {\n return trimmed;\n }\n return `\"${trimmed}\"`;\n })\n .join(', ');\n return `[${newContent}]`;\n }\n );\n\n // Parse the string into an object\n return JSON.parse(normalizedInput) as T;\n};\n\nexport const getMarkdownMetadata = <T extends Record<string, any>>(\n markdown: string\n): T => {\n try {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter.\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n const result: T = {} as T;\n return result;\n }\n\n const metadata: T = {} as T;\n let inMetadataBlock = false;\n let currentKey: string | null = null;\n let currentArrayItems: string[] = [];\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const trimmedLine = line.trim();\n\n // Toggle metadata block on encountering the delimiter.\n if (trimmedLine === '---') {\n if (!inMetadataBlock) {\n // Begin metadata block.\n inMetadataBlock = true;\n continue;\n } else {\n // End of metadata block; finalize any pending array and stop processing.\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n }\n break;\n }\n }\n\n // If we're inside the metadata block, parse key: value pairs.\n if (inMetadataBlock) {\n // Check if this line is an array item (starts with - )\n const arrayItemMatch = line.match(/^\\s*-\\s+(.+)$/);\n if (arrayItemMatch && currentKey) {\n // This is an array item for the current key\n currentArrayItems.push(arrayItemMatch[1].trim());\n continue;\n }\n\n // If we have a pending array from a previous key, save it\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n currentKey = null;\n currentArrayItems = [];\n }\n\n // Check for key: value pairs\n const match = line.match(/^([^:]+)\\s*:\\s*(.*)$/);\n if (match) {\n const key = match[1].trim();\n const value = match[2].trim();\n\n if (value === '') {\n // This might be the start of a multi-line structure (like an array)\n currentKey = key;\n currentArrayItems = [];\n } else {\n try {\n (metadata as Record<string, any>)[key] = parseToObject(value);\n } catch (e) {\n (metadata as Record<string, any>)[key] = value;\n }\n }\n }\n }\n }\n\n return metadata;\n } catch (e) {\n const result: T = {} as T;\n return result;\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,gBAAgB,CAAU,UAA4B;AAE1D,MAAI,kBAAkB,MACnB,KAAK,EACL,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,4BAA4B,QAAQ;AAG/C,oBAAkB,gBAAgB;AAAA,IAChC;AAAA,IACA,CAAC,QAAQ,iBAAiB;AACxB,YAAM,aAAc,aACjB,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,cAAM,UAAU,KAAK,KAAK;AAE1B,YACG,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,KAChD,CAAC,MAAM,OAAO,OAAO,CAAC,GACtB;AACA,iBAAO;AAAA,QACT;AACA,eAAO,IAAI,OAAO;AAAA,MACpB,CAAC,EACA,KAAK,IAAI;AACZ,aAAO,IAAI,UAAU;AAAA,IACvB;AAAA,EACF;AAGA,SAAO,KAAK,MAAM,eAAe;AACnC;AAEO,MAAM,sBAAsB,CACjC,aACM;AACN,MAAI;AACF,UAAM,QAAQ,SAAS,MAAM,OAAO;AAGpC,UAAM,oBAAoB,MAAM,KAAK,CAAC,SAAS,KAAK,KAAK,MAAM,EAAE;AAEjE,QAAI,CAAC,qBAAqB,kBAAkB,KAAK,MAAM,OAAO;AAC5D,YAAM,SAAY,CAAC;AACnB,aAAO;AAAA,IACT;AAEA,UAAM,WAAc,CAAC;AACrB,QAAI,kBAAkB;AACtB,QAAI,aAA4B;AAChC,QAAI,oBAA8B,CAAC;AAEnC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,cAAc,KAAK,KAAK;AAG9B,UAAI,gBAAgB,OAAO;AACzB,YAAI,CAAC,iBAAiB;AAEpB,4BAAkB;AAClB;AAAA,QACF,OAAO;AAEL,cAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,YAAC,SAAiC,UAAU,IAAI;AAAA,UAClD;AACA;AAAA,QACF;AAAA,MACF;AAGA,UAAI,iBAAiB;AAEnB,cAAM,iBAAiB,KAAK,MAAM,eAAe;AACjD,YAAI,kBAAkB,YAAY;AAEhC,4BAAkB,KAAK,eAAe,CAAC,EAAE,KAAK,CAAC;AAC/C;AAAA,QACF;AAGA,YAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,UAAC,SAAiC,UAAU,IAAI;AAChD,uBAAa;AACb,8BAAoB,CAAC;AAAA,QACvB;AAGA,cAAM,QAAQ,KAAK,MAAM,sBAAsB;AAC/C,YAAI,OAAO;AACT,gBAAM,MAAM,MAAM,CAAC,EAAE,KAAK;AAC1B,gBAAM,QAAQ,MAAM,CAAC,EAAE,KAAK;AAE5B,cAAI,UAAU,IAAI;AAEhB,yBAAa;AACb,gCAAoB,CAAC;AAAA,UACvB,OAAO;AACL,gBAAI;AACF,cAAC,SAAiC,GAAG,IAAI,cAAc,KAAK;AAAA,YAC9D,SAAS,GAAG;AACV,cAAC,SAAiC,GAAG,IAAI;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,GAAG;AACV,UAAM,SAAY,CAAC;AACnB,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"sourcesContent":["import { parseYaml } from '../../utils/parseYaml';\n\nexport const getMarkdownMetadata = <T extends Record<string, any>>(\n markdown: string\n): T => {\n try {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter.\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n const result: T = {} as T;\n return result;\n }\n\n const metadata: T = {} as T;\n let inMetadataBlock = false;\n let currentKey: string | null = null;\n let currentArrayItems: string[] = [];\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const trimmedLine = line.trim();\n\n // Toggle metadata block on encountering the delimiter.\n if (trimmedLine === '---') {\n if (!inMetadataBlock) {\n // Begin metadata block.\n inMetadataBlock = true;\n continue;\n } else {\n // End of metadata block; finalize any pending array and stop processing.\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n }\n break;\n }\n }\n\n // If we're inside the metadata block, parse key: value pairs.\n if (inMetadataBlock) {\n // Check if this line is an array item (starts with - )\n const arrayItemMatch = line.match(/^\\s*-\\s+(.+)$/);\n if (arrayItemMatch && currentKey) {\n // This is an array item for the current key\n currentArrayItems.push(arrayItemMatch[1].trim());\n continue;\n }\n\n // If we have a pending array from a previous key, save it\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n currentKey = null;\n currentArrayItems = [];\n }\n\n // Check for key: value pairs\n const match = line.match(/^([^:]+)\\s*:\\s*(.*)$/);\n if (match) {\n const key = match[1].trim();\n const value = match[2].trim();\n\n if (value === '') {\n // This might be the start of a multi-line structure (like an array)\n currentKey = key;\n currentArrayItems = [];\n } else {\n try {\n (metadata as Record<string, any>)[key] = parseYaml(value);\n } catch (e) {\n (metadata as Record<string, any>)[key] = value;\n }\n }\n }\n }\n }\n\n return metadata;\n } catch (e) {\n const result: T = {} as T;\n return result;\n }\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAA0B;AAEnB,MAAM,sBAAsB,CACjC,aACM;AACN,MAAI;AACF,UAAM,QAAQ,SAAS,MAAM,OAAO;AAGpC,UAAM,oBAAoB,MAAM,KAAK,CAAC,SAAS,KAAK,KAAK,MAAM,EAAE;AAEjE,QAAI,CAAC,qBAAqB,kBAAkB,KAAK,MAAM,OAAO;AAC5D,YAAM,SAAY,CAAC;AACnB,aAAO;AAAA,IACT;AAEA,UAAM,WAAc,CAAC;AACrB,QAAI,kBAAkB;AACtB,QAAI,aAA4B;AAChC,QAAI,oBAA8B,CAAC;AAEnC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,cAAc,KAAK,KAAK;AAG9B,UAAI,gBAAgB,OAAO;AACzB,YAAI,CAAC,iBAAiB;AAEpB,4BAAkB;AAClB;AAAA,QACF,OAAO;AAEL,cAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,YAAC,SAAiC,UAAU,IAAI;AAAA,UAClD;AACA;AAAA,QACF;AAAA,MACF;AAGA,UAAI,iBAAiB;AAEnB,cAAM,iBAAiB,KAAK,MAAM,eAAe;AACjD,YAAI,kBAAkB,YAAY;AAEhC,4BAAkB,KAAK,eAAe,CAAC,EAAE,KAAK,CAAC;AAC/C;AAAA,QACF;AAGA,YAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,UAAC,SAAiC,UAAU,IAAI;AAChD,uBAAa;AACb,8BAAoB,CAAC;AAAA,QACvB;AAGA,cAAM,QAAQ,KAAK,MAAM,sBAAsB;AAC/C,YAAI,OAAO;AACT,gBAAM,MAAM,MAAM,CAAC,EAAE,KAAK;AAC1B,gBAAM,QAAQ,MAAM,CAAC,EAAE,KAAK;AAE5B,cAAI,UAAU,IAAI;AAEhB,yBAAa;AACb,gCAAoB,CAAC;AAAA,UACvB,OAAO;AACL,gBAAI;AACF,cAAC,SAAiC,GAAG,QAAI,4BAAU,KAAK;AAAA,YAC1D,SAAS,GAAG;AACV,cAAC,SAAiC,GAAG,IAAI;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,GAAG;AACV,UAAM,SAAY,CAAC;AACnB,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var parseYaml_exports = {};
20
+ __export(parseYaml_exports, {
21
+ parseYaml: () => parseYaml
22
+ });
23
+ module.exports = __toCommonJS(parseYaml_exports);
24
+ const parseYaml = (input) => {
25
+ const trimmedInput = input.trim();
26
+ if (!trimmedInput) {
27
+ return null;
28
+ }
29
+ if (!trimmedInput.startsWith("[") && !trimmedInput.startsWith("{")) {
30
+ if (!isNaN(Number(trimmedInput))) {
31
+ return JSON.parse(trimmedInput);
32
+ }
33
+ if (trimmedInput.startsWith('"') && trimmedInput.endsWith('"') || trimmedInput.startsWith("'") && trimmedInput.endsWith("'")) {
34
+ return JSON.parse(trimmedInput);
35
+ }
36
+ return trimmedInput;
37
+ }
38
+ let normalizedInput = trimmedInput.replace(/^\[/, "[").replace(/^\{/, "{").replace(/\]$/, "]").replace(/\}$/, "}").replace(/([\w\d_]+)\s*:/g, '"$1":').replace(/:\s*([a-zA-Z_][\w\d_]*)/g, ': "$1"');
39
+ normalizedInput = normalizedInput.replace(
40
+ /\[([^\[\]]+?)\]/g,
41
+ (_match, arrayContent) => {
42
+ const newContent = arrayContent.split(",").map((item) => {
43
+ const trimmed = item.trim();
44
+ if (trimmed.startsWith('"') && trimmed.endsWith('"') || !isNaN(Number(trimmed))) {
45
+ return trimmed;
46
+ }
47
+ return `"${trimmed}"`;
48
+ }).join(", ");
49
+ return `[${newContent}]`;
50
+ }
51
+ );
52
+ return JSON.parse(normalizedInput);
53
+ };
54
+ // Annotate the CommonJS export names for ESM import in node:
55
+ 0 && (module.exports = {
56
+ parseYaml
57
+ });
58
+ //# sourceMappingURL=parseYaml.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/parseYaml.ts"],"sourcesContent":["export const parseYaml = <T = any>(input: string): T | null => {\n const trimmedInput = input.trim();\n\n // Handle empty input\n if (!trimmedInput) {\n return null;\n }\n\n // If it's a simple unquoted string (not an array or object), return it as-is\n if (!trimmedInput.startsWith('[') && !trimmedInput.startsWith('{')) {\n // Check if it's a number\n if (!isNaN(Number(trimmedInput))) {\n return JSON.parse(trimmedInput) as T;\n }\n // Check if it's already a quoted string\n if (\n (trimmedInput.startsWith('\"') && trimmedInput.endsWith('\"')) ||\n (trimmedInput.startsWith(\"'\") && trimmedInput.endsWith(\"'\"))\n ) {\n return JSON.parse(trimmedInput) as T;\n }\n // Return as unquoted string\n return trimmedInput as T;\n }\n\n // Normalize different bracket types and keys/values\n let normalizedInput = trimmedInput\n .replace(/^\\[/, '[') // Keep array brackets\n .replace(/^\\{/, '{') // Keep object brackets\n .replace(/\\]$/, ']') // Keep array brackets\n .replace(/\\}$/, '}') // Keep object brackets\n .replace(/([\\w\\d_]+)\\s*:/g, '\"$1\":') // Ensure JSON-valid keys (e.g., key: -> \"key\":)\n .replace(/:\\s*([a-zA-Z_][\\w\\d_]*)/g, ': \"$1\"'); // Handle unquoted string values\n\n // Fix arrays with unquoted items (e.g., [content, anotherContent])\n normalizedInput = normalizedInput.replace(\n /\\[([^\\[\\]]+?)\\]/g,\n (_match, arrayContent) => {\n const newContent = (arrayContent as string)\n .split(',')\n .map((item) => {\n const trimmed = item.trim();\n // If already quoted or is a valid number, return as is.\n if (\n (trimmed.startsWith('\"') && trimmed.endsWith('\"')) ||\n !isNaN(Number(trimmed))\n ) {\n return trimmed;\n }\n return `\"${trimmed}\"`;\n })\n .join(', ');\n return `[${newContent}]`;\n }\n );\n\n // Parse the string into an object\n return JSON.parse(normalizedInput) as T;\n};\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,YAAY,CAAU,UAA4B;AAC7D,QAAM,eAAe,MAAM,KAAK;AAGhC,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,EACT;AAGA,MAAI,CAAC,aAAa,WAAW,GAAG,KAAK,CAAC,aAAa,WAAW,GAAG,GAAG;AAElE,QAAI,CAAC,MAAM,OAAO,YAAY,CAAC,GAAG;AAChC,aAAO,KAAK,MAAM,YAAY;AAAA,IAChC;AAEA,QACG,aAAa,WAAW,GAAG,KAAK,aAAa,SAAS,GAAG,KACzD,aAAa,WAAW,GAAG,KAAK,aAAa,SAAS,GAAG,GAC1D;AACA,aAAO,KAAK,MAAM,YAAY;AAAA,IAChC;AAEA,WAAO;AAAA,EACT;AAGA,MAAI,kBAAkB,aACnB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,4BAA4B,QAAQ;AAG/C,oBAAkB,gBAAgB;AAAA,IAChC;AAAA,IACA,CAAC,QAAQ,iBAAiB;AACxB,YAAM,aAAc,aACjB,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,cAAM,UAAU,KAAK,KAAK;AAE1B,YACG,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,KAChD,CAAC,MAAM,OAAO,OAAO,CAAC,GACtB;AACA,iBAAO;AAAA,QACT;AACA,eAAO,IAAI,OAAO;AAAA,MACpB,CAAC,EACA,KAAK,IAAI;AACZ,aAAO,IAAI,UAAU;AAAA,IACvB;AAAA,EACF;AAGA,SAAO,KAAK,MAAM,eAAe;AACnC;","names":[]}
@@ -9,4 +9,5 @@ export * from "./utils/checkIsURLAbsolute.mjs";
9
9
  export * from "./utils/intl.mjs";
10
10
  export * from "./utils/isSameKeyPath.mjs";
11
11
  export * from "./utils/isValidReactElement.mjs";
12
+ export * from "./utils/parseYaml.mjs";
12
13
  //# sourceMappingURL=index.mjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './deepTranformPlugins';\nexport * from './dictionaryManipulator/index';\nexport * from './formatters/index';\nexport * from './interpreter/index';\nexport * from './localization/index';\nexport * from './transpiler/index';\nexport * from './types/index';\nexport * from './utils/checkIsURLAbsolute';\nexport * from './utils/intl';\nexport * from './utils/isSameKeyPath';\nexport * from './utils/isValidReactElement';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
1
+ {"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './deepTranformPlugins';\nexport * from './dictionaryManipulator/index';\nexport * from './formatters/index';\nexport * from './interpreter/index';\nexport * from './localization/index';\nexport * from './transpiler/index';\nexport * from './types/index';\nexport * from './utils/checkIsURLAbsolute';\nexport * from './utils/intl';\nexport * from './utils/isSameKeyPath';\nexport * from './utils/isValidReactElement';\nexport * from './utils/parseYaml';\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
@@ -1,20 +1,4 @@
1
- const parseToObject = (input) => {
2
- let normalizedInput = input.trim().replace(/^\[/, "[").replace(/^\{/, "{").replace(/\]$/, "]").replace(/\}$/, "}").replace(/([\w\d_]+)\s*:/g, '"$1":').replace(/:\s*([a-zA-Z_][\w\d_]*)/g, ': "$1"');
3
- normalizedInput = normalizedInput.replace(
4
- /\[([^\[\]]+?)\]/g,
5
- (_match, arrayContent) => {
6
- const newContent = arrayContent.split(",").map((item) => {
7
- const trimmed = item.trim();
8
- if (trimmed.startsWith('"') && trimmed.endsWith('"') || !isNaN(Number(trimmed))) {
9
- return trimmed;
10
- }
11
- return `"${trimmed}"`;
12
- }).join(", ");
13
- return `[${newContent}]`;
14
- }
15
- );
16
- return JSON.parse(normalizedInput);
17
- };
1
+ import { parseYaml } from "../../utils/parseYaml.mjs";
18
2
  const getMarkdownMetadata = (markdown) => {
19
3
  try {
20
4
  const lines = markdown.split(/\r?\n/);
@@ -61,7 +45,7 @@ const getMarkdownMetadata = (markdown) => {
61
45
  currentArrayItems = [];
62
46
  } else {
63
47
  try {
64
- metadata[key] = parseToObject(value);
48
+ metadata[key] = parseYaml(value);
65
49
  } catch (e) {
66
50
  metadata[key] = value;
67
51
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"sourcesContent":["const parseToObject = <T = any>(input: string): T | null => {\n // Normalize different bracket types and keys/values\n let normalizedInput = input\n .trim()\n .replace(/^\\[/, '[') // Keep array brackets\n .replace(/^\\{/, '{') // Keep object brackets\n .replace(/\\]$/, ']') // Keep array brackets\n .replace(/\\}$/, '}') // Keep object brackets\n .replace(/([\\w\\d_]+)\\s*:/g, '\"$1\":') // Ensure JSON-valid keys (e.g., key: -> \"key\":)\n .replace(/:\\s*([a-zA-Z_][\\w\\d_]*)/g, ': \"$1\"'); // Handle unquoted string values\n\n // Fix arrays with unquoted items (e.g., [content, anotherContent])\n normalizedInput = normalizedInput.replace(\n /\\[([^\\[\\]]+?)\\]/g,\n (_match, arrayContent) => {\n const newContent = (arrayContent as string)\n .split(',')\n .map((item) => {\n const trimmed = item.trim();\n // If already quoted or is a valid number, return as is.\n if (\n (trimmed.startsWith('\"') && trimmed.endsWith('\"')) ||\n !isNaN(Number(trimmed))\n ) {\n return trimmed;\n }\n return `\"${trimmed}\"`;\n })\n .join(', ');\n return `[${newContent}]`;\n }\n );\n\n // Parse the string into an object\n return JSON.parse(normalizedInput) as T;\n};\n\nexport const getMarkdownMetadata = <T extends Record<string, any>>(\n markdown: string\n): T => {\n try {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter.\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n const result: T = {} as T;\n return result;\n }\n\n const metadata: T = {} as T;\n let inMetadataBlock = false;\n let currentKey: string | null = null;\n let currentArrayItems: string[] = [];\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const trimmedLine = line.trim();\n\n // Toggle metadata block on encountering the delimiter.\n if (trimmedLine === '---') {\n if (!inMetadataBlock) {\n // Begin metadata block.\n inMetadataBlock = true;\n continue;\n } else {\n // End of metadata block; finalize any pending array and stop processing.\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n }\n break;\n }\n }\n\n // If we're inside the metadata block, parse key: value pairs.\n if (inMetadataBlock) {\n // Check if this line is an array item (starts with - )\n const arrayItemMatch = line.match(/^\\s*-\\s+(.+)$/);\n if (arrayItemMatch && currentKey) {\n // This is an array item for the current key\n currentArrayItems.push(arrayItemMatch[1].trim());\n continue;\n }\n\n // If we have a pending array from a previous key, save it\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n currentKey = null;\n currentArrayItems = [];\n }\n\n // Check for key: value pairs\n const match = line.match(/^([^:]+)\\s*:\\s*(.*)$/);\n if (match) {\n const key = match[1].trim();\n const value = match[2].trim();\n\n if (value === '') {\n // This might be the start of a multi-line structure (like an array)\n currentKey = key;\n currentArrayItems = [];\n } else {\n try {\n (metadata as Record<string, any>)[key] = parseToObject(value);\n } catch (e) {\n (metadata as Record<string, any>)[key] = value;\n }\n }\n }\n }\n }\n\n return metadata;\n } catch (e) {\n const result: T = {} as T;\n return result;\n }\n};\n"],"mappings":"AAAA,MAAM,gBAAgB,CAAU,UAA4B;AAE1D,MAAI,kBAAkB,MACnB,KAAK,EACL,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,4BAA4B,QAAQ;AAG/C,oBAAkB,gBAAgB;AAAA,IAChC;AAAA,IACA,CAAC,QAAQ,iBAAiB;AACxB,YAAM,aAAc,aACjB,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,cAAM,UAAU,KAAK,KAAK;AAE1B,YACG,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,KAChD,CAAC,MAAM,OAAO,OAAO,CAAC,GACtB;AACA,iBAAO;AAAA,QACT;AACA,eAAO,IAAI,OAAO;AAAA,MACpB,CAAC,EACA,KAAK,IAAI;AACZ,aAAO,IAAI,UAAU;AAAA,IACvB;AAAA,EACF;AAGA,SAAO,KAAK,MAAM,eAAe;AACnC;AAEO,MAAM,sBAAsB,CACjC,aACM;AACN,MAAI;AACF,UAAM,QAAQ,SAAS,MAAM,OAAO;AAGpC,UAAM,oBAAoB,MAAM,KAAK,CAAC,SAAS,KAAK,KAAK,MAAM,EAAE;AAEjE,QAAI,CAAC,qBAAqB,kBAAkB,KAAK,MAAM,OAAO;AAC5D,YAAM,SAAY,CAAC;AACnB,aAAO;AAAA,IACT;AAEA,UAAM,WAAc,CAAC;AACrB,QAAI,kBAAkB;AACtB,QAAI,aAA4B;AAChC,QAAI,oBAA8B,CAAC;AAEnC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,cAAc,KAAK,KAAK;AAG9B,UAAI,gBAAgB,OAAO;AACzB,YAAI,CAAC,iBAAiB;AAEpB,4BAAkB;AAClB;AAAA,QACF,OAAO;AAEL,cAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,YAAC,SAAiC,UAAU,IAAI;AAAA,UAClD;AACA;AAAA,QACF;AAAA,MACF;AAGA,UAAI,iBAAiB;AAEnB,cAAM,iBAAiB,KAAK,MAAM,eAAe;AACjD,YAAI,kBAAkB,YAAY;AAEhC,4BAAkB,KAAK,eAAe,CAAC,EAAE,KAAK,CAAC;AAC/C;AAAA,QACF;AAGA,YAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,UAAC,SAAiC,UAAU,IAAI;AAChD,uBAAa;AACb,8BAAoB,CAAC;AAAA,QACvB;AAGA,cAAM,QAAQ,KAAK,MAAM,sBAAsB;AAC/C,YAAI,OAAO;AACT,gBAAM,MAAM,MAAM,CAAC,EAAE,KAAK;AAC1B,gBAAM,QAAQ,MAAM,CAAC,EAAE,KAAK;AAE5B,cAAI,UAAU,IAAI;AAEhB,yBAAa;AACb,gCAAoB,CAAC;AAAA,UACvB,OAAO;AACL,gBAAI;AACF,cAAC,SAAiC,GAAG,IAAI,cAAc,KAAK;AAAA,YAC9D,SAAS,GAAG;AACV,cAAC,SAAiC,GAAG,IAAI;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,GAAG;AACV,UAAM,SAAY,CAAC;AACnB,WAAO;AAAA,EACT;AACF;","names":[]}
1
+ {"version":3,"sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"sourcesContent":["import { parseYaml } from '../../utils/parseYaml';\n\nexport const getMarkdownMetadata = <T extends Record<string, any>>(\n markdown: string\n): T => {\n try {\n const lines = markdown.split(/\\r?\\n/);\n\n // Check if the very first non-empty line is the metadata start delimiter.\n const firstNonEmptyLine = lines.find((line) => line.trim() !== '');\n\n if (!firstNonEmptyLine || firstNonEmptyLine.trim() !== '---') {\n const result: T = {} as T;\n return result;\n }\n\n const metadata: T = {} as T;\n let inMetadataBlock = false;\n let currentKey: string | null = null;\n let currentArrayItems: string[] = [];\n\n for (let i = 0; i < lines.length; i++) {\n const line = lines[i];\n const trimmedLine = line.trim();\n\n // Toggle metadata block on encountering the delimiter.\n if (trimmedLine === '---') {\n if (!inMetadataBlock) {\n // Begin metadata block.\n inMetadataBlock = true;\n continue;\n } else {\n // End of metadata block; finalize any pending array and stop processing.\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n }\n break;\n }\n }\n\n // If we're inside the metadata block, parse key: value pairs.\n if (inMetadataBlock) {\n // Check if this line is an array item (starts with - )\n const arrayItemMatch = line.match(/^\\s*-\\s+(.+)$/);\n if (arrayItemMatch && currentKey) {\n // This is an array item for the current key\n currentArrayItems.push(arrayItemMatch[1].trim());\n continue;\n }\n\n // If we have a pending array from a previous key, save it\n if (currentKey && currentArrayItems.length > 0) {\n (metadata as Record<string, any>)[currentKey] = currentArrayItems;\n currentKey = null;\n currentArrayItems = [];\n }\n\n // Check for key: value pairs\n const match = line.match(/^([^:]+)\\s*:\\s*(.*)$/);\n if (match) {\n const key = match[1].trim();\n const value = match[2].trim();\n\n if (value === '') {\n // This might be the start of a multi-line structure (like an array)\n currentKey = key;\n currentArrayItems = [];\n } else {\n try {\n (metadata as Record<string, any>)[key] = parseYaml(value);\n } catch (e) {\n (metadata as Record<string, any>)[key] = value;\n }\n }\n }\n }\n }\n\n return metadata;\n } catch (e) {\n const result: T = {} as T;\n return result;\n }\n};\n"],"mappings":"AAAA,SAAS,iBAAiB;AAEnB,MAAM,sBAAsB,CACjC,aACM;AACN,MAAI;AACF,UAAM,QAAQ,SAAS,MAAM,OAAO;AAGpC,UAAM,oBAAoB,MAAM,KAAK,CAAC,SAAS,KAAK,KAAK,MAAM,EAAE;AAEjE,QAAI,CAAC,qBAAqB,kBAAkB,KAAK,MAAM,OAAO;AAC5D,YAAM,SAAY,CAAC;AACnB,aAAO;AAAA,IACT;AAEA,UAAM,WAAc,CAAC;AACrB,QAAI,kBAAkB;AACtB,QAAI,aAA4B;AAChC,QAAI,oBAA8B,CAAC;AAEnC,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AACrC,YAAM,OAAO,MAAM,CAAC;AACpB,YAAM,cAAc,KAAK,KAAK;AAG9B,UAAI,gBAAgB,OAAO;AACzB,YAAI,CAAC,iBAAiB;AAEpB,4BAAkB;AAClB;AAAA,QACF,OAAO;AAEL,cAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,YAAC,SAAiC,UAAU,IAAI;AAAA,UAClD;AACA;AAAA,QACF;AAAA,MACF;AAGA,UAAI,iBAAiB;AAEnB,cAAM,iBAAiB,KAAK,MAAM,eAAe;AACjD,YAAI,kBAAkB,YAAY;AAEhC,4BAAkB,KAAK,eAAe,CAAC,EAAE,KAAK,CAAC;AAC/C;AAAA,QACF;AAGA,YAAI,cAAc,kBAAkB,SAAS,GAAG;AAC9C,UAAC,SAAiC,UAAU,IAAI;AAChD,uBAAa;AACb,8BAAoB,CAAC;AAAA,QACvB;AAGA,cAAM,QAAQ,KAAK,MAAM,sBAAsB;AAC/C,YAAI,OAAO;AACT,gBAAM,MAAM,MAAM,CAAC,EAAE,KAAK;AAC1B,gBAAM,QAAQ,MAAM,CAAC,EAAE,KAAK;AAE5B,cAAI,UAAU,IAAI;AAEhB,yBAAa;AACb,gCAAoB,CAAC;AAAA,UACvB,OAAO;AACL,gBAAI;AACF,cAAC,SAAiC,GAAG,IAAI,UAAU,KAAK;AAAA,YAC1D,SAAS,GAAG;AACV,cAAC,SAAiC,GAAG,IAAI;AAAA,YAC3C;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAEA,WAAO;AAAA,EACT,SAAS,GAAG;AACV,UAAM,SAAY,CAAC;AACnB,WAAO;AAAA,EACT;AACF;","names":[]}
@@ -0,0 +1,34 @@
1
+ const parseYaml = (input) => {
2
+ const trimmedInput = input.trim();
3
+ if (!trimmedInput) {
4
+ return null;
5
+ }
6
+ if (!trimmedInput.startsWith("[") && !trimmedInput.startsWith("{")) {
7
+ if (!isNaN(Number(trimmedInput))) {
8
+ return JSON.parse(trimmedInput);
9
+ }
10
+ if (trimmedInput.startsWith('"') && trimmedInput.endsWith('"') || trimmedInput.startsWith("'") && trimmedInput.endsWith("'")) {
11
+ return JSON.parse(trimmedInput);
12
+ }
13
+ return trimmedInput;
14
+ }
15
+ let normalizedInput = trimmedInput.replace(/^\[/, "[").replace(/^\{/, "{").replace(/\]$/, "]").replace(/\}$/, "}").replace(/([\w\d_]+)\s*:/g, '"$1":').replace(/:\s*([a-zA-Z_][\w\d_]*)/g, ': "$1"');
16
+ normalizedInput = normalizedInput.replace(
17
+ /\[([^\[\]]+?)\]/g,
18
+ (_match, arrayContent) => {
19
+ const newContent = arrayContent.split(",").map((item) => {
20
+ const trimmed = item.trim();
21
+ if (trimmed.startsWith('"') && trimmed.endsWith('"') || !isNaN(Number(trimmed))) {
22
+ return trimmed;
23
+ }
24
+ return `"${trimmed}"`;
25
+ }).join(", ");
26
+ return `[${newContent}]`;
27
+ }
28
+ );
29
+ return JSON.parse(normalizedInput);
30
+ };
31
+ export {
32
+ parseYaml
33
+ };
34
+ //# sourceMappingURL=parseYaml.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/utils/parseYaml.ts"],"sourcesContent":["export const parseYaml = <T = any>(input: string): T | null => {\n const trimmedInput = input.trim();\n\n // Handle empty input\n if (!trimmedInput) {\n return null;\n }\n\n // If it's a simple unquoted string (not an array or object), return it as-is\n if (!trimmedInput.startsWith('[') && !trimmedInput.startsWith('{')) {\n // Check if it's a number\n if (!isNaN(Number(trimmedInput))) {\n return JSON.parse(trimmedInput) as T;\n }\n // Check if it's already a quoted string\n if (\n (trimmedInput.startsWith('\"') && trimmedInput.endsWith('\"')) ||\n (trimmedInput.startsWith(\"'\") && trimmedInput.endsWith(\"'\"))\n ) {\n return JSON.parse(trimmedInput) as T;\n }\n // Return as unquoted string\n return trimmedInput as T;\n }\n\n // Normalize different bracket types and keys/values\n let normalizedInput = trimmedInput\n .replace(/^\\[/, '[') // Keep array brackets\n .replace(/^\\{/, '{') // Keep object brackets\n .replace(/\\]$/, ']') // Keep array brackets\n .replace(/\\}$/, '}') // Keep object brackets\n .replace(/([\\w\\d_]+)\\s*:/g, '\"$1\":') // Ensure JSON-valid keys (e.g., key: -> \"key\":)\n .replace(/:\\s*([a-zA-Z_][\\w\\d_]*)/g, ': \"$1\"'); // Handle unquoted string values\n\n // Fix arrays with unquoted items (e.g., [content, anotherContent])\n normalizedInput = normalizedInput.replace(\n /\\[([^\\[\\]]+?)\\]/g,\n (_match, arrayContent) => {\n const newContent = (arrayContent as string)\n .split(',')\n .map((item) => {\n const trimmed = item.trim();\n // If already quoted or is a valid number, return as is.\n if (\n (trimmed.startsWith('\"') && trimmed.endsWith('\"')) ||\n !isNaN(Number(trimmed))\n ) {\n return trimmed;\n }\n return `\"${trimmed}\"`;\n })\n .join(', ');\n return `[${newContent}]`;\n }\n );\n\n // Parse the string into an object\n return JSON.parse(normalizedInput) as T;\n};\n"],"mappings":"AAAO,MAAM,YAAY,CAAU,UAA4B;AAC7D,QAAM,eAAe,MAAM,KAAK;AAGhC,MAAI,CAAC,cAAc;AACjB,WAAO;AAAA,EACT;AAGA,MAAI,CAAC,aAAa,WAAW,GAAG,KAAK,CAAC,aAAa,WAAW,GAAG,GAAG;AAElE,QAAI,CAAC,MAAM,OAAO,YAAY,CAAC,GAAG;AAChC,aAAO,KAAK,MAAM,YAAY;AAAA,IAChC;AAEA,QACG,aAAa,WAAW,GAAG,KAAK,aAAa,SAAS,GAAG,KACzD,aAAa,WAAW,GAAG,KAAK,aAAa,SAAS,GAAG,GAC1D;AACA,aAAO,KAAK,MAAM,YAAY;AAAA,IAChC;AAEA,WAAO;AAAA,EACT;AAGA,MAAI,kBAAkB,aACnB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,OAAO,GAAG,EAClB,QAAQ,mBAAmB,OAAO,EAClC,QAAQ,4BAA4B,QAAQ;AAG/C,oBAAkB,gBAAgB;AAAA,IAChC;AAAA,IACA,CAAC,QAAQ,iBAAiB;AACxB,YAAM,aAAc,aACjB,MAAM,GAAG,EACT,IAAI,CAAC,SAAS;AACb,cAAM,UAAU,KAAK,KAAK;AAE1B,YACG,QAAQ,WAAW,GAAG,KAAK,QAAQ,SAAS,GAAG,KAChD,CAAC,MAAM,OAAO,OAAO,CAAC,GACtB;AACA,iBAAO;AAAA,QACT;AACA,eAAO,IAAI,OAAO;AAAA,MACpB,CAAC,EACA,KAAK,IAAI;AACZ,aAAO,IAAI,UAAU;AAAA,IACvB;AAAA,EACF;AAGA,SAAO,KAAK,MAAM,eAAe;AACnC;","names":[]}
@@ -9,4 +9,5 @@ export * from './utils/checkIsURLAbsolute';
9
9
  export * from './utils/intl';
10
10
  export * from './utils/isSameKeyPath';
11
11
  export * from './utils/isValidReactElement';
12
+ export * from './utils/parseYaml';
12
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC;AAC9B,cAAc,4BAA4B,CAAC;AAC3C,cAAc,cAAc,CAAC;AAC7B,cAAc,uBAAuB,CAAC;AACtC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mBAAmB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"getMarkdownMetadata.d.ts","sourceRoot":"","sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"names":[],"mappings":"AAqCA,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/D,UAAU,MAAM,KACf,CA+EF,CAAC"}
1
+ {"version":3,"file":"getMarkdownMetadata.d.ts","sourceRoot":"","sources":["../../../../src/transpiler/markdown/getMarkdownMetadata.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,mBAAmB,GAAI,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/D,UAAU,MAAM,KACf,CA+EF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const parseYaml: <T = any>(input: string) => T | null;
2
+ //# sourceMappingURL=parseYaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parseYaml.d.ts","sourceRoot":"","sources":["../../../src/utils/parseYaml.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,GAAI,CAAC,GAAG,GAAG,EAAE,OAAO,MAAM,KAAG,CAAC,GAAG,IA0DtD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intlayer/core",
3
- "version": "6.1.3",
3
+ "version": "6.1.5",
4
4
  "private": false,
5
5
  "description": "Includes core Intlayer functions like translation, dictionary, and utility functions shared across multiple packages.",
6
6
  "keywords": [
@@ -109,6 +109,42 @@
109
109
  "types": "dist/types/index.d.ts",
110
110
  "typesVersions": {
111
111
  "*": {
112
+ ".": [
113
+ "./dist/types/index.d.ts"
114
+ ],
115
+ "file": [
116
+ "./dist/types/transpiler/file/file.d.ts"
117
+ ],
118
+ "file/browser": [
119
+ "./dist/types/transpiler/file/file.d.ts"
120
+ ],
121
+ "compact": [
122
+ "./dist/types/formatters/compact.d.ts"
123
+ ],
124
+ "currency": [
125
+ "./dist/types/formatters/currency.d.ts"
126
+ ],
127
+ "date": [
128
+ "./dist/types/formatters/date.d.ts"
129
+ ],
130
+ "relativeTime": [
131
+ "./dist/types/formatters/relativeTime.d.ts"
132
+ ],
133
+ "number": [
134
+ "./dist/types/formatters/number.d.ts"
135
+ ],
136
+ "units": [
137
+ "./dist/types/formatters/units.d.ts"
138
+ ],
139
+ "list": [
140
+ "./dist/types/formatters/list.d.ts"
141
+ ],
142
+ "percentage": [
143
+ "./dist/types/formatters/percentage.d.ts"
144
+ ],
145
+ "intl": [
146
+ "./dist/types/utils/intl.d.ts"
147
+ ],
112
148
  "package.json": [
113
149
  "./package.json"
114
150
  ]
@@ -120,10 +156,10 @@
120
156
  ],
121
157
  "dependencies": {
122
158
  "negotiator": "^1.0.0",
123
- "@intlayer/api": "6.1.3",
124
- "@intlayer/config": "6.1.3",
125
- "@intlayer/dictionaries-entry": "6.1.3",
126
- "@intlayer/unmerged-dictionaries-entry": "6.1.3"
159
+ "@intlayer/api": "6.1.5",
160
+ "@intlayer/config": "6.1.5",
161
+ "@intlayer/dictionaries-entry": "6.1.5",
162
+ "@intlayer/unmerged-dictionaries-entry": "6.1.5"
127
163
  },
128
164
  "devDependencies": {
129
165
  "@types/negotiator": "^0.6.3",
@@ -137,17 +173,22 @@
137
173
  "tsup": "^8.5.0",
138
174
  "typescript": "^5.9.2",
139
175
  "vitest": "^3.2.4",
140
- "@utils/eslint-config": "1.0.4",
141
176
  "@utils/ts-config": "1.0.4",
177
+ "@utils/eslint-config": "1.0.4",
142
178
  "@utils/ts-config-types": "1.0.4",
143
179
  "@utils/tsup-config": "1.0.4"
144
180
  },
145
181
  "peerDependencies": {
146
- "@intlayer/config": "6.1.3",
147
- "@intlayer/unmerged-dictionaries-entry": "6.1.3",
148
- "@intlayer/dictionaries-entry": "6.1.3",
149
- "@intlayer/api": "6.1.3",
150
- "intlayer": "6.1.3"
182
+ "@intlayer/dictionaries-entry": "6.1.5",
183
+ "@intlayer/config": "6.1.5",
184
+ "@intlayer/api": "6.1.5",
185
+ "@intlayer/unmerged-dictionaries-entry": "6.1.5",
186
+ "intlayer": "6.1.5"
187
+ },
188
+ "peerDependenciesMeta": {
189
+ "intlayer": {
190
+ "optional": true
191
+ }
151
192
  },
152
193
  "engines": {
153
194
  "node": ">=14.18"