@datasworn-community/core 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (201) hide show
  1. package/README.md +11 -0
  2. package/dist/cjs/Datasworn.d.ts +5012 -0
  3. package/dist/cjs/Datasworn.d.ts.map +1 -0
  4. package/dist/cjs/Datasworn.js +3 -0
  5. package/dist/cjs/Datasworn.js.map +1 -0
  6. package/dist/cjs/DataswornSource.d.ts +5025 -0
  7. package/dist/cjs/DataswornSource.d.ts.map +1 -0
  8. package/dist/cjs/DataswornSource.js +3 -0
  9. package/dist/cjs/DataswornSource.js.map +1 -0
  10. package/dist/cjs/DataswornTree.d.ts +9 -0
  11. package/dist/cjs/DataswornTree.d.ts.map +1 -0
  12. package/dist/cjs/DataswornTree.js +25 -0
  13. package/dist/cjs/DataswornTree.js.map +1 -0
  14. package/dist/cjs/DataswornVersion.d.ts +8 -0
  15. package/dist/cjs/DataswornVersion.d.ts.map +1 -0
  16. package/dist/cjs/DataswornVersion.js +10 -0
  17. package/dist/cjs/DataswornVersion.js.map +1 -0
  18. package/dist/cjs/Errors.d.ts +5 -0
  19. package/dist/cjs/Errors.d.ts.map +1 -0
  20. package/dist/cjs/Errors.js +11 -0
  21. package/dist/cjs/Errors.js.map +1 -0
  22. package/dist/cjs/IdElements/CONST.d.ts +37 -0
  23. package/dist/cjs/IdElements/CONST.d.ts.map +1 -0
  24. package/dist/cjs/IdElements/CONST.js +26 -0
  25. package/dist/cjs/IdElements/CONST.js.map +1 -0
  26. package/dist/cjs/IdElements/PathKeys.d.ts +13 -0
  27. package/dist/cjs/IdElements/PathKeys.d.ts.map +1 -0
  28. package/dist/cjs/IdElements/PathKeys.js +3 -0
  29. package/dist/cjs/IdElements/PathKeys.js.map +1 -0
  30. package/dist/cjs/IdElements/Pattern.d.ts +13 -0
  31. package/dist/cjs/IdElements/Pattern.d.ts.map +1 -0
  32. package/dist/cjs/IdElements/Pattern.js +20 -0
  33. package/dist/cjs/IdElements/Pattern.js.map +1 -0
  34. package/dist/cjs/IdElements/TypeGuard.d.ts +25 -0
  35. package/dist/cjs/IdElements/TypeGuard.d.ts.map +1 -0
  36. package/dist/cjs/IdElements/TypeGuard.js +72 -0
  37. package/dist/cjs/IdElements/TypeGuard.js.map +1 -0
  38. package/dist/cjs/IdElements/TypeId.d.ts +114 -0
  39. package/dist/cjs/IdElements/TypeId.d.ts.map +1 -0
  40. package/dist/cjs/IdElements/TypeId.js +259 -0
  41. package/dist/cjs/IdElements/TypeId.js.map +1 -0
  42. package/dist/cjs/IdElements/index.d.ts +6 -0
  43. package/dist/cjs/IdElements/index.d.ts.map +1 -0
  44. package/dist/cjs/IdElements/index.js +48 -0
  45. package/dist/cjs/IdElements/index.js.map +1 -0
  46. package/dist/cjs/IdParser.d.ts +380 -0
  47. package/dist/cjs/IdParser.d.ts.map +1 -0
  48. package/dist/cjs/IdParser.js +1012 -0
  49. package/dist/cjs/IdParser.js.map +1 -0
  50. package/dist/cjs/Migrations/index.d.ts +2 -0
  51. package/dist/cjs/Migrations/index.d.ts.map +1 -0
  52. package/dist/cjs/Migrations/index.js +18 -0
  53. package/dist/cjs/Migrations/index.js.map +1 -0
  54. package/dist/cjs/Migrations/updateIds.d.ts +34 -0
  55. package/dist/cjs/Migrations/updateIds.d.ts.map +1 -0
  56. package/dist/cjs/Migrations/updateIds.js +141 -0
  57. package/dist/cjs/Migrations/updateIds.js.map +1 -0
  58. package/dist/cjs/StringId.d.ts +47 -0
  59. package/dist/cjs/StringId.d.ts.map +1 -0
  60. package/dist/cjs/StringId.js +3 -0
  61. package/dist/cjs/StringId.js.map +1 -0
  62. package/dist/cjs/Tree.d.ts +5 -0
  63. package/dist/cjs/Tree.d.ts.map +1 -0
  64. package/dist/cjs/Tree.js +3 -0
  65. package/dist/cjs/Tree.js.map +1 -0
  66. package/dist/cjs/TypeNode.d.ts +93 -0
  67. package/dist/cjs/TypeNode.d.ts.map +1 -0
  68. package/dist/cjs/TypeNode.js +3 -0
  69. package/dist/cjs/TypeNode.js.map +1 -0
  70. package/dist/cjs/Utils/Array.d.ts +16 -0
  71. package/dist/cjs/Utils/Array.d.ts.map +1 -0
  72. package/dist/cjs/Utils/Array.js +14 -0
  73. package/dist/cjs/Utils/Array.js.map +1 -0
  74. package/dist/cjs/Utils/Id.d.ts +75 -0
  75. package/dist/cjs/Utils/Id.d.ts.map +1 -0
  76. package/dist/cjs/Utils/Id.js +3 -0
  77. package/dist/cjs/Utils/Id.js.map +1 -0
  78. package/dist/cjs/Utils/Number.d.ts +5 -0
  79. package/dist/cjs/Utils/Number.d.ts.map +1 -0
  80. package/dist/cjs/Utils/Number.js +4 -0
  81. package/dist/cjs/Utils/Number.js.map +1 -0
  82. package/dist/cjs/Utils/Sort.d.ts +17 -0
  83. package/dist/cjs/Utils/Sort.d.ts.map +1 -0
  84. package/dist/cjs/Utils/Sort.js +277 -0
  85. package/dist/cjs/Utils/Sort.js.map +1 -0
  86. package/dist/cjs/Utils/String.d.ts +4 -0
  87. package/dist/cjs/Utils/String.d.ts.map +1 -0
  88. package/dist/cjs/Utils/String.js +3 -0
  89. package/dist/cjs/Utils/String.js.map +1 -0
  90. package/dist/cjs/index.d.ts +10 -0
  91. package/dist/cjs/index.d.ts.map +1 -0
  92. package/dist/cjs/index.js +47 -0
  93. package/dist/cjs/index.js.map +1 -0
  94. package/dist/cjs/mergeExpansion.d.ts +3 -0
  95. package/dist/cjs/mergeExpansion.d.ts.map +1 -0
  96. package/dist/cjs/mergeExpansion.js +113 -0
  97. package/dist/cjs/mergeExpansion.js.map +1 -0
  98. package/dist/cjs/package.json +1 -0
  99. package/dist/cjs/tsconfig.tsbuildinfo +1 -0
  100. package/dist/esm/Datasworn.d.ts +5012 -0
  101. package/dist/esm/Datasworn.d.ts.map +1 -0
  102. package/dist/esm/Datasworn.js +2 -0
  103. package/dist/esm/Datasworn.js.map +1 -0
  104. package/dist/esm/DataswornSource.d.ts +5025 -0
  105. package/dist/esm/DataswornSource.d.ts.map +1 -0
  106. package/dist/esm/DataswornSource.js +2 -0
  107. package/dist/esm/DataswornSource.js.map +1 -0
  108. package/dist/esm/DataswornTree.d.ts +9 -0
  109. package/dist/esm/DataswornTree.d.ts.map +1 -0
  110. package/dist/esm/DataswornTree.js +21 -0
  111. package/dist/esm/DataswornTree.js.map +1 -0
  112. package/dist/esm/DataswornVersion.d.ts +8 -0
  113. package/dist/esm/DataswornVersion.d.ts.map +1 -0
  114. package/dist/esm/DataswornVersion.js +7 -0
  115. package/dist/esm/DataswornVersion.js.map +1 -0
  116. package/dist/esm/Errors.d.ts +5 -0
  117. package/dist/esm/Errors.d.ts.map +1 -0
  118. package/dist/esm/Errors.js +7 -0
  119. package/dist/esm/Errors.js.map +1 -0
  120. package/dist/esm/IdElements/CONST.d.ts +37 -0
  121. package/dist/esm/IdElements/CONST.d.ts.map +1 -0
  122. package/dist/esm/IdElements/CONST.js +23 -0
  123. package/dist/esm/IdElements/CONST.js.map +1 -0
  124. package/dist/esm/IdElements/PathKeys.d.ts +13 -0
  125. package/dist/esm/IdElements/PathKeys.d.ts.map +1 -0
  126. package/dist/esm/IdElements/PathKeys.js +2 -0
  127. package/dist/esm/IdElements/PathKeys.js.map +1 -0
  128. package/dist/esm/IdElements/Pattern.d.ts +13 -0
  129. package/dist/esm/IdElements/Pattern.d.ts.map +1 -0
  130. package/dist/esm/IdElements/Pattern.js +18 -0
  131. package/dist/esm/IdElements/Pattern.js.map +1 -0
  132. package/dist/esm/IdElements/TypeGuard.d.ts +25 -0
  133. package/dist/esm/IdElements/TypeGuard.d.ts.map +1 -0
  134. package/dist/esm/IdElements/TypeGuard.js +67 -0
  135. package/dist/esm/IdElements/TypeGuard.js.map +1 -0
  136. package/dist/esm/IdElements/TypeId.d.ts +114 -0
  137. package/dist/esm/IdElements/TypeId.d.ts.map +1 -0
  138. package/dist/esm/IdElements/TypeId.js +257 -0
  139. package/dist/esm/IdElements/TypeId.js.map +1 -0
  140. package/dist/esm/IdElements/index.d.ts +6 -0
  141. package/dist/esm/IdElements/index.d.ts.map +1 -0
  142. package/dist/esm/IdElements/index.js +6 -0
  143. package/dist/esm/IdElements/index.js.map +1 -0
  144. package/dist/esm/IdParser.d.ts +380 -0
  145. package/dist/esm/IdParser.d.ts.map +1 -0
  146. package/dist/esm/IdParser.js +1004 -0
  147. package/dist/esm/IdParser.js.map +1 -0
  148. package/dist/esm/Migrations/index.d.ts +2 -0
  149. package/dist/esm/Migrations/index.d.ts.map +1 -0
  150. package/dist/esm/Migrations/index.js +2 -0
  151. package/dist/esm/Migrations/index.js.map +1 -0
  152. package/dist/esm/Migrations/updateIds.d.ts +34 -0
  153. package/dist/esm/Migrations/updateIds.d.ts.map +1 -0
  154. package/dist/esm/Migrations/updateIds.js +135 -0
  155. package/dist/esm/Migrations/updateIds.js.map +1 -0
  156. package/dist/esm/StringId.d.ts +47 -0
  157. package/dist/esm/StringId.d.ts.map +1 -0
  158. package/dist/esm/StringId.js +2 -0
  159. package/dist/esm/StringId.js.map +1 -0
  160. package/dist/esm/Tree.d.ts +5 -0
  161. package/dist/esm/Tree.d.ts.map +1 -0
  162. package/dist/esm/Tree.js +2 -0
  163. package/dist/esm/Tree.js.map +1 -0
  164. package/dist/esm/TypeNode.d.ts +93 -0
  165. package/dist/esm/TypeNode.d.ts.map +1 -0
  166. package/dist/esm/TypeNode.js +2 -0
  167. package/dist/esm/TypeNode.js.map +1 -0
  168. package/dist/esm/Utils/Array.d.ts +16 -0
  169. package/dist/esm/Utils/Array.d.ts.map +1 -0
  170. package/dist/esm/Utils/Array.js +11 -0
  171. package/dist/esm/Utils/Array.js.map +1 -0
  172. package/dist/esm/Utils/Id.d.ts +75 -0
  173. package/dist/esm/Utils/Id.d.ts.map +1 -0
  174. package/dist/esm/Utils/Id.js +2 -0
  175. package/dist/esm/Utils/Id.js.map +1 -0
  176. package/dist/esm/Utils/Number.d.ts +5 -0
  177. package/dist/esm/Utils/Number.d.ts.map +1 -0
  178. package/dist/esm/Utils/Number.js +3 -0
  179. package/dist/esm/Utils/Number.js.map +1 -0
  180. package/dist/esm/Utils/Sort.d.ts +17 -0
  181. package/dist/esm/Utils/Sort.d.ts.map +1 -0
  182. package/dist/esm/Utils/Sort.js +267 -0
  183. package/dist/esm/Utils/Sort.js.map +1 -0
  184. package/dist/esm/Utils/String.d.ts +4 -0
  185. package/dist/esm/Utils/String.d.ts.map +1 -0
  186. package/dist/esm/Utils/String.js +2 -0
  187. package/dist/esm/Utils/String.js.map +1 -0
  188. package/dist/esm/index.d.ts +10 -0
  189. package/dist/esm/index.d.ts.map +1 -0
  190. package/dist/esm/index.js +7 -0
  191. package/dist/esm/index.js.map +1 -0
  192. package/dist/esm/mergeExpansion.d.ts +3 -0
  193. package/dist/esm/mergeExpansion.d.ts.map +1 -0
  194. package/dist/esm/mergeExpansion.js +107 -0
  195. package/dist/esm/mergeExpansion.js.map +1 -0
  196. package/dist/esm/package.json +1 -0
  197. package/dist/esm/tsconfig.tsbuildinfo +1 -0
  198. package/json/datasworn-source.schema.json +11420 -0
  199. package/json/datasworn.schema.json +11354 -0
  200. package/migration/0.1.0/id_regex_map.json +21 -0
  201. package/package.json +52 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IdParser.js","sourceRoot":"","sources":["../../src/IdParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './updateIds.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/Migrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './updateIds.js';
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/Migrations/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,34 @@
1
+ export type ReplacementMapData = Record<string, string | null>;
2
+ export type ReplacementMap = Map<string | RegExp, string | null>;
3
+ /**
4
+ * Load the parsed JSON objects from `id_map.json` and/or `id_regex_map.json` in to a Map object for efficient lookup and replacement.
5
+ */
6
+ export declare function rehydrateReplacementMaps(...data: ReplacementMapData[]): Map<string | RegExp, string | null>;
7
+ /**
8
+ * Updates any string containing a v0.0.10 ID reference to be compatible with v0.1.0.
9
+ * @param k The key of the JSON value.
10
+ * @param v The JSON value.
11
+ * @param replacementMap The record object that maps v0.0.10
12
+ * @param unreplacedIds An optional set that contains any IDs that were unable to be replaced.
13
+ * @example ```typescript
14
+ * import fs from 'node:fs/promises'
15
+ * const [replacementMap, oldJson] = await Promise.all([
16
+ * fs.readFile('./path/to/id_replacement_hash.json'),
17
+ * fs.readFile('./path/to/old_datasworn_data.json')
18
+ * ])
19
+ * const unreplacedIds = new Set<string>()
20
+ *
21
+ * // parse and do ID replacements
22
+ * const updated = JSON.parse(oldJson, (k,v) => updateIdsInString(k,v, JSON.parse(replacementMap), unreplacedIds))
23
+ * ```
24
+ */
25
+ export declare function updateIdInString(k: unknown, v: unknown, replacementMap: Record<string, string | null>, unreplacedIds?: Set<string>): unknown;
26
+ /**
27
+ * Updates markdown ID pointers and templates from v0.0.10 to v0.1.0.
28
+ * @param md The markdown string to change.
29
+ * @returns A new string with the replaced values.
30
+ */
31
+ export declare function updateIdsInMarkdown(md: string, replacementMap: Record<string, string | null>, unreplacedIds?: Set<string>): string;
32
+ /** Updates a Datasworn ID string from v0.0.10 to v0.1.0. */
33
+ export declare function updateId(id: string, replacementMap: Record<string, string | null>, unreplacedIds?: Set<string>): string | null;
34
+ //# sourceMappingURL=updateIds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateIds.d.ts","sourceRoot":"","sources":["../../../src/Migrations/updateIds.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;AAC9D,MAAM,MAAM,cAAc,GAAG,GAAG,CAAC,MAAM,GAAG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,CAAA;AAEhE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,IAAI,EAAE,kBAAkB,EAAE,uCAYrE;AAyCD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,gBAAgB,CAC/B,CAAC,EAAE,OAAO,EACV,CAAC,EAAE,OAAO,EACV,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAC7C,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,WAY3B;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAClC,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAC7C,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,UAuB3B;AAED,4DAA4D;AAC5D,wBAAgB,QAAQ,CACvB,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC,EAC7C,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,MAAM,GAAG,IAAI,CASf"}
@@ -0,0 +1,135 @@
1
+ import { MdLinkPrefix, PrefixSep } from '../IdElements/CONST.js';
2
+ /**
3
+ * Load the parsed JSON objects from `id_map.json` and/or `id_regex_map.json` in to a Map object for efficient lookup and replacement.
4
+ */
5
+ export function rehydrateReplacementMaps(...data) {
6
+ const result = new Map();
7
+ for (const dt of data)
8
+ for (const key in dt) {
9
+ const replacer = dt[key];
10
+ const idPattern = key.startsWith('^') && key.endsWith('$') ? new RegExp(key) : key;
11
+ result.set(idPattern, replacer);
12
+ }
13
+ return result;
14
+ }
15
+ const neverLegacyIdSubstrings = new Set([
16
+ ',',
17
+ '. ',
18
+ ': ',
19
+ '[',
20
+ ']',
21
+ '(',
22
+ ')',
23
+ '://',
24
+ '.svg',
25
+ '.webp'
26
+ ]);
27
+ const alwaysMdKeys = new Set([
28
+ 'description',
29
+ 'summary',
30
+ 'quest_starter',
31
+ 'your_truth',
32
+ 'text',
33
+ 'text2',
34
+ 'text3',
35
+ 'requirement'
36
+ ]);
37
+ const neverMdOrIdKeys = new Set([
38
+ 'label',
39
+ 'name',
40
+ 'title',
41
+ '_comment',
42
+ 'url',
43
+ 'license',
44
+ 'icon',
45
+ 'roll_type',
46
+ 'field_type',
47
+ 'oracle_type',
48
+ 'field_type',
49
+ 'choice_type'
50
+ ]);
51
+ /**
52
+ * Updates any string containing a v0.0.10 ID reference to be compatible with v0.1.0.
53
+ * @param k The key of the JSON value.
54
+ * @param v The JSON value.
55
+ * @param replacementMap The record object that maps v0.0.10
56
+ * @param unreplacedIds An optional set that contains any IDs that were unable to be replaced.
57
+ * @example ```typescript
58
+ * import fs from 'node:fs/promises'
59
+ * const [replacementMap, oldJson] = await Promise.all([
60
+ * fs.readFile('./path/to/id_replacement_hash.json'),
61
+ * fs.readFile('./path/to/old_datasworn_data.json')
62
+ * ])
63
+ * const unreplacedIds = new Set<string>()
64
+ *
65
+ * // parse and do ID replacements
66
+ * const updated = JSON.parse(oldJson, (k,v) => updateIdsInString(k,v, JSON.parse(replacementMap), unreplacedIds))
67
+ * ```
68
+ */
69
+ export function updateIdInString(k, v, replacementMap, unreplacedIds) {
70
+ switch (true) {
71
+ case typeof v !== 'string':
72
+ case neverMdOrIdKeys.has(k):
73
+ return v;
74
+ case isPlainLegacyId(k, v):
75
+ return updateId(v, replacementMap, unreplacedIds);
76
+ // case alwaysMdKeys.has(k as string):
77
+ default:
78
+ return updateIdsInMarkdown(v, replacementMap, unreplacedIds);
79
+ }
80
+ }
81
+ /**
82
+ * Updates markdown ID pointers and templates from v0.0.10 to v0.1.0.
83
+ * @param md The markdown string to change.
84
+ * @returns A new string with the replaced values.
85
+ */
86
+ export function updateIdsInMarkdown(md, replacementMap, unreplacedIds) {
87
+ let newStr = md;
88
+ newStr = newStr.replaceAll(oldMarkdownLinkPattern, (substring, linkText, id) => {
89
+ const replacementId = updateId(id, replacementMap, unreplacedIds);
90
+ if (id == null)
91
+ return substring;
92
+ const newLinkText = `${MdLinkPrefix}${PrefixSep}${replacementId}`;
93
+ return `[${linkText}](${newLinkText})`;
94
+ });
95
+ newStr = newStr.replaceAll(oldMarkdownMacroPattern, (substring, directive, id) => {
96
+ const replacementId = updateId(id, replacementMap, unreplacedIds);
97
+ if (id == null)
98
+ return substring;
99
+ return `{{${directive}>${replacementId}}}`;
100
+ });
101
+ return newStr;
102
+ }
103
+ /** Updates a Datasworn ID string from v0.0.10 to v0.1.0. */
104
+ export function updateId(id, replacementMap, unreplacedIds) {
105
+ const replacement = replacementMap[id];
106
+ if (replacement == null) {
107
+ unreplacedIds?.add(id);
108
+ return null;
109
+ }
110
+ return replacement;
111
+ }
112
+ /**
113
+ * Matches an entire markdown macro (v0.0.10).
114
+ * @example "{{text:starforged/oracle_rollable/factions/name/legacy}}"
115
+ */
116
+ const oldMarkdownMacroPattern = /\{\{(?<directive>[a-z_]+):(?<id>[a-z_\\/\\.\d]+?)\}\}/g;
117
+ /**
118
+ * Matches *only* the actual ID of an ID link (v0.0.10)
119
+ * @example "[Legacy](id:starforged/oracle_rollable/factions/name/legacy)"
120
+ */
121
+ const oldMarkdownLinkPattern = /\[(?<linkText>\w.+?)\]\(id:(?<id>[a-z_\\/\\.\d]+?)\)/g;
122
+ function isPlainLegacyId(k, v) {
123
+ switch (true) {
124
+ case alwaysMdKeys.has(k):
125
+ case neverMdOrIdKeys.has(k):
126
+ case !v.includes('/'):
127
+ return false;
128
+ default:
129
+ for (const substr of neverLegacyIdSubstrings)
130
+ if (v.includes(substr))
131
+ return false;
132
+ return true;
133
+ }
134
+ }
135
+ //# sourceMappingURL=updateIds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateIds.js","sourceRoot":"","sources":["../../../src/Migrations/updateIds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ import type { DictKey, ExpansionId, RulesetId } from './Datasworn.js';
2
+ import type { CONST, TypeId } from './IdElements/index.js';
3
+ import type * as PathKeys from './IdElements/PathKeys.js';
4
+ import type { TupleOfLength } from './Utils/Array.js';
5
+ import type { Join, Split } from './Utils/String.js';
6
+ export type RulesPackageId = RulesetId | ExpansionId;
7
+ export type TypeIdParts = string[];
8
+ export type IdSegments<T extends number> = TupleOfLength<T, string>;
9
+ type IdBase<L extends number, TypeIds extends IdSegments<L>, PathSegments extends IdSegments<L>> = `${Join<TypeIds, CONST.TypeSep>}${CONST.PrefixSep}${Join<PathSegments, CONST.TypeSep>}`;
10
+ export type Embedded<TPrimary extends TypeId.Primary & TypeId.Embedding, TPrimaryPath extends string, TEmbedded extends TypeId.EmbeddableIn<TPrimary>, TEmbeddedPath extends string> = IdBase<2, [TPrimary, TEmbedded], [TPrimaryPath, TEmbeddedPath]>;
11
+ export type EmbeddedInEmbedded<TPrimary extends TypeId.Primary & TypeId.Embedding, TPrimaryPath extends string, TEmbedded extends TypeId.EmbeddableIn<TPrimary> & TypeId.EmbeddingWhenEmbeddedType, TEmbeddedPath extends string, TEmbedded2 extends TypeId.EmbeddableInEmbeddedType<TEmbedded>, TEmbeddedPath2 extends string> = IdBase<3, [
12
+ TPrimary,
13
+ TEmbedded,
14
+ TEmbedded2
15
+ ], [
16
+ TPrimaryPath,
17
+ TEmbeddedPath,
18
+ TEmbeddedPath2
19
+ ]>;
20
+ export type EmbedIn<TBase extends Collectable | NonCollectable | EmbedIn<Collectable | NonCollectable, TypeId.Embeddable, string>, EmbedTypeId extends TypeId.Embeddable, Key extends string | number> = IdBase<[
21
+ ...ExtractTypeIdParts<TBase>,
22
+ EmbedTypeId
23
+ ]['length'], [
24
+ ...ExtractTypeIdParts<TBase>,
25
+ EmbedTypeId
26
+ ], [
27
+ ...ExtractPathSegments<TBase>,
28
+ `${Key}`
29
+ ]>;
30
+ type ExtractTypeIdParts<T extends `${string}${CONST.PrefixSep}${string}`> = Split<Split<T, CONST.PrefixSep>[0], CONST.TypeSep>;
31
+ type ExtractPathSegments<T extends `${string}${CONST.PrefixSep}${string}`> = Split<Split<T, CONST.PrefixSep>[1], CONST.TypeSep>;
32
+ type PrimaryBase<TypeId extends TypeId.Primary, RulesPackage extends RulesPackageId, PathKeys extends DictKey[]> = IdBase<1, [TypeId], [Join<[RulesPackage, ...PathKeys]>]>;
33
+ export type Collection<TypeId extends TypeId.Collection = TypeId.Collection, RulesPackage extends RulesPackageId = RulesPackageId, CollectionAncestorKeys extends PathKeys.CollectionAncestorKeys = PathKeys.CollectionAncestorKeys, Key extends string = string> = PrimaryBase<TypeId, RulesPackage, [...CollectionAncestorKeys, Key]>;
34
+ export type ExtractCollectionType<T extends Collection> = T extends Collection<infer U extends TypeId.Collection> ? U : never;
35
+ export type ExtractCollectableType<T extends Collectable> = T extends Collectable<infer U extends TypeId.Collectable> ? U : never;
36
+ export type ExtractNonCollectableType<T extends NonCollectable> = T extends NonCollectable<infer U extends TypeId.NonCollectable> ? U : never;
37
+ export type ExtractPrimaryRulesPackage<T extends `${string}:${string}${CONST.PathKeySep}${string}`> = Split<Split<T, CONST.PrefixSep>[1], CONST.PathKeySep>[0];
38
+ export type ExtractNonCollectableKey<T extends NonCollectable> = T extends NonCollectable<TypeId.NonCollectable, string, infer U extends string> ? U : never;
39
+ export type ExtractCollectableKey<T extends Collectable> = T extends Collectable<TypeId.Collectable, string, PathKeys.CollectableAncestorKeys, infer U extends string> ? U : never;
40
+ export type ExtractCollectionKey<T extends Collection> = T extends Collection<TypeId.Collection, string, PathKeys.CollectionAncestorKeys, infer U extends string> ? U : never;
41
+ export type ExtractCollectionAncestorsKeys<T extends Collection> = T extends Collection<TypeId.Collection, string, infer U extends PathKeys.CollectionAncestorKeys, string> ? U : never;
42
+ export type ExtractCollectableAncestorsKeys<T extends Collectable> = T extends Collectable<TypeId.Collectable, string, infer U extends PathKeys.CollectableAncestorKeys, string> ? U : never;
43
+ export type Collectable<TypeId extends TypeId.Collectable = TypeId.Collectable, RulesPackage extends RulesPackageId = RulesPackageId, CollectionPathKeys extends PathKeys.CollectableAncestorKeys = PathKeys.CollectableAncestorKeys, Key extends string = string> = PrimaryBase<TypeId, RulesPackage, [...CollectionPathKeys, Key]>;
44
+ export type NonCollectable<TypeId extends TypeId.NonCollectable = TypeId.NonCollectable, RulesPackage extends RulesPackageId = RulesPackageId, Key extends DictKey = DictKey> = PrimaryBase<TypeId, RulesPackage, [Key]>;
45
+ export type Primary = Collectable | Collection | NonCollectable;
46
+ export {};
47
+ //# sourceMappingURL=StringId.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringId.d.ts","sourceRoot":"","sources":["../../src/StringId.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=StringId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StringId.js","sourceRoot":"","sources":["../../src/StringId.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ import type * as Datasworn from './Datasworn.js';
2
+ import type * as Strings from './StringId.js';
3
+ /** A keyed object containing multiple Datasworn RulesPackages */
4
+ export type Tree = Record<Strings.RulesPackageId, Datasworn.RulesPackage> | Map<Strings.RulesPackageId, Datasworn.RulesPackage>;
5
+ //# sourceMappingURL=Tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.d.ts","sourceRoot":"","sources":["../../src/Tree.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,SAAS,MAAM,gBAAgB,CAAA;AAChD,OAAO,KAAK,KAAK,OAAO,MAAM,eAAe,CAAA;AAE7C,iEAAiE;AAEjE,MAAM,MAAM,IAAI,GACb,MAAM,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC,GACtD,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,SAAS,CAAC,YAAY,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tree.js","sourceRoot":"","sources":["../../src/Tree.ts"],"names":[],"mappings":""}
@@ -0,0 +1,93 @@
1
+ import type * as Datasworn from './Datasworn.js';
2
+ import type TypeId from './IdElements/TypeId.js';
3
+ import type { DataswornSource } from './index.js';
4
+ declare namespace TypeNode {
5
+ export type Collection<T extends TypeId.Collection = TypeId.Collection> = CollectionTypeMap[T];
6
+ export type Collectable<T extends TypeId.Collectable = TypeId.Collectable> = CollectableTypeMap[T];
7
+ export type NonCollectable<T extends TypeId.NonCollectable = TypeId.NonCollectable> = NonCollectableTypeMap[T];
8
+ export type EmbedOnly<T extends TypeId.EmbedOnly = TypeId.EmbedOnly> = EmbedOnlyTypeMap[T];
9
+ export type CollectionSource<T extends TypeId.Collection = TypeId.Collection> = CollectionSourceTypeMap[T];
10
+ export type CollectableSource<T extends TypeId.Collectable = TypeId.Collectable> = CollectableSourceTypeMap[T];
11
+ export type NonCollectableSource<T extends TypeId.NonCollectable = TypeId.NonCollectable> = NonCollectableSourceTypeMap[T];
12
+ export type EmbedOnlySource<T extends TypeId.EmbedOnly = TypeId.EmbedOnly> = EmbedOnlySourceTypeMap[T];
13
+ type NonCollectableTypeMap = {
14
+ delve_site: Datasworn.DelveSite;
15
+ truth: Datasworn.Truth;
16
+ delve_site_domain: Datasworn.DelveSiteDomain;
17
+ delve_site_theme: Datasworn.DelveSiteTheme;
18
+ rarity: Datasworn.Rarity;
19
+ };
20
+ type CollectableTypeMap = {
21
+ asset: Datasworn.Asset;
22
+ move: Datasworn.Move;
23
+ atlas_entry: Datasworn.AtlasEntry;
24
+ oracle_rollable: Datasworn.OracleRollable;
25
+ npc: Datasworn.Npc;
26
+ };
27
+ type CollectionTypeMap = {
28
+ asset_collection: Datasworn.AssetCollection;
29
+ move_category: Datasworn.MoveCategory;
30
+ atlas_collection: Datasworn.AtlasCollection;
31
+ npc_collection: Datasworn.NpcCollection;
32
+ oracle_collection: Datasworn.OracleCollection;
33
+ };
34
+ type PrimaryTypeMap = CollectionTypeMap & CollectableTypeMap & NonCollectableTypeMap;
35
+ type NonCollectableSourceTypeMap = {
36
+ delve_site: DataswornSource.DelveSite;
37
+ truth: DataswornSource.Truth;
38
+ delve_site_domain: DataswornSource.DelveSiteDomain;
39
+ delve_site_theme: DataswornSource.DelveSiteTheme;
40
+ rarity: DataswornSource.Rarity;
41
+ };
42
+ type CollectableSourceTypeMap = {
43
+ asset: DataswornSource.Asset;
44
+ move: DataswornSource.Move;
45
+ atlas_entry: DataswornSource.AtlasEntry;
46
+ oracle_rollable: DataswornSource.OracleRollable;
47
+ npc: DataswornSource.Npc;
48
+ };
49
+ type CollectionSourceTypeMap = {
50
+ asset_collection: DataswornSource.AssetCollection;
51
+ move_category: DataswornSource.MoveCategory;
52
+ atlas_collection: DataswornSource.AtlasCollection;
53
+ npc_collection: DataswornSource.NpcCollection;
54
+ oracle_collection: DataswornSource.OracleCollection;
55
+ };
56
+ type PrimarySourceTypeMap = CollectionSourceTypeMap & CollectableSourceTypeMap & NonCollectableSourceTypeMap;
57
+ type EmbedOnlyTypeMap = {
58
+ ability: Datasworn.AssetAbility;
59
+ condition: Datasworn.TriggerActionRollCondition | Datasworn.TriggerNoRollCondition | Datasworn.TriggerProgressRollCondition | Datasworn.TriggerSpecialTrackCondition;
60
+ outcome: Datasworn.MoveOutcome;
61
+ option: Datasworn.TruthOption;
62
+ row: Datasworn.OracleRollableRow;
63
+ feature: Datasworn.DelveSiteThemeFeature | Datasworn.DelveSiteDomainFeature;
64
+ danger: Datasworn.DelveSiteThemeDanger | Datasworn.DelveSiteDomainDanger;
65
+ denizen: Datasworn.DelveSiteDenizen;
66
+ variant: Datasworn.NpcVariant;
67
+ };
68
+ type EmbedOnlySourceTypeMap = {
69
+ ability: DataswornSource.AssetAbility;
70
+ condition: DataswornSource.TriggerActionRollCondition | DataswornSource.TriggerNoRollCondition | DataswornSource.TriggerProgressRollCondition | DataswornSource.TriggerSpecialTrackCondition;
71
+ outcome: DataswornSource.MoveOutcome;
72
+ option: DataswornSource.TruthOption;
73
+ row: DataswornSource.OracleRollableRow;
74
+ feature: DataswornSource.DelveSiteThemeFeature | DataswornSource.DelveSiteDomainFeature;
75
+ danger: DataswornSource.DelveSiteThemeDanger | DataswornSource.DelveSiteDomainDanger;
76
+ denizen: DataswornSource.DelveSiteDenizen;
77
+ variant: DataswornSource.NpcVariant;
78
+ };
79
+ type EmbeddableTypeMap = Pick<EmbedOnlyTypeMap & PrimaryTypeMap, TypeId.Embeddable>;
80
+ export type CollectableOf<T extends Collection> = ByType<TypeId.CollectableOf<T['type']>> & Collectable;
81
+ /** Gets the node type(s) corresponding to a given TypeId. */
82
+ export type ByType<T extends keyof PrimaryTypeMap | keyof EmbeddableTypeMap> = T extends keyof PrimaryTypeMap ? T extends keyof EmbeddableTypeMap ? PrimaryTypeMap[T] | EmbeddableTypeMap[T] : PrimaryTypeMap[T] : T extends keyof EmbeddableTypeMap ? EmbeddableTypeMap[T] : never;
83
+ export type BySourceType<T extends keyof PrimarySourceTypeMap | keyof EmbedOnlySourceTypeMap> = T extends keyof PrimarySourceTypeMap ? T extends keyof EmbedOnlySourceTypeMap ? PrimarySourceTypeMap[T] | EmbedOnlySourceTypeMap[T] : PrimarySourceTypeMap[T] : T extends keyof EmbedOnlySourceTypeMap ? EmbedOnlySourceTypeMap[T] : never;
84
+ /** Any Datasworn primary node type. */
85
+ export type Primary<T extends TypeId.Primary = TypeId.Primary> = PrimaryTypeMap[T];
86
+ /** Any Datasworn embedded node type. */
87
+ export type Embedded<T extends keyof EmbeddableTypeMap = keyof EmbeddableTypeMap> = EmbeddableTypeMap[T];
88
+ /** Any primary or embedded Datasworn node type. */
89
+ export type Any = Primary | Embedded;
90
+ export {};
91
+ }
92
+ export default TypeNode;
93
+ //# sourceMappingURL=TypeNode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeNode.d.ts","sourceRoot":"","sources":["../../src/TypeNode.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=TypeNode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TypeNode.js","sourceRoot":"","sources":["../../src/TypeNode.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export declare function arrayIs<T1 extends Array<any>, T2 extends Array<any>>(a: T1, b: T2): a is T1 & T2;
2
+ export type Head<T extends any[]> = T extends [...infer Head, LastElementOf<T>] ? [...Head] : T extends [] ? [] : never;
3
+ export type LastElementOf<T extends unknown[]> = T extends [
4
+ ...unknown[],
5
+ infer Last
6
+ ] ? Last : never;
7
+ export type DropLast<T extends unknown[]> = T extends [] | [unknown] ? [] : T extends [infer U, unknown] ? [U] : T extends [...infer U extends unknown[], unknown] ? U : never;
8
+ export type DropFirst<T extends unknown[]> = T extends [] | [unknown] ? [] : T extends [unknown, infer U] ? [U] : T extends [unknown, ...infer U extends unknown[]] ? U : never;
9
+ export type TupleOfLength<Length extends number, T> = T[] & {
10
+ length: Length;
11
+ };
12
+ export type OmitItemsOfType<T extends any[], O> = T extends [
13
+ infer Head,
14
+ ...infer Tail extends any[]
15
+ ] ? [...(Head extends O ? [] : [Head]), ...OmitItemsOfType<Tail, O>] : [];
16
+ //# sourceMappingURL=Array.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../../src/Utils/Array.ts"],"names":[],"mappings":"AAAA,wBAAgB,OAAO,CAAC,EAAE,SAAS,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,KAAK,CAAC,GAAG,CAAC,EACnE,CAAC,EAAE,EAAE,EACL,CAAC,EAAE,EAAE,GACH,CAAC,IAAI,EAAE,GAAG,EAAE,CASd;AAED,MAAM,MAAM,IAAI,CAAC,CAAC,SAAS,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,MAAM,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,GAC5E,CAAC,GAAG,IAAI,CAAC,GACT,CAAC,SAAS,EAAE,GACX,EAAE,GACF,KAAK,CAAA;AAET,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS;IAC1D,GAAG,OAAO,EAAE;IACZ,MAAM,IAAI;CACV,GACE,IAAI,GACJ,KAAK,CAAA;AAER,MAAM,MAAM,QAAQ,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,GACjE,EAAE,GACF,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,GAC3B,CAAC,CAAC,CAAC,GACH,CAAC,SAAS,CAAC,GAAG,MAAM,CAAC,SAAS,OAAO,EAAE,EAAE,OAAO,CAAC,GAChD,CAAC,GACD,KAAK,CAAA;AAEV,MAAM,MAAM,SAAS,CAAC,CAAC,SAAS,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,GAClE,EAAE,GACF,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,GAC3B,CAAC,CAAC,CAAC,GACH,CAAC,SAAS,CAAC,OAAO,EAAE,GAAG,MAAM,CAAC,SAAS,OAAO,EAAE,CAAC,GAChD,CAAC,GACD,KAAK,CAAA;AAEV,MAAM,MAAM,aAAa,CAAC,MAAM,SAAS,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAA;AAE9E,MAAM,MAAM,eAAe,CAAC,CAAC,SAAS,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS;IAC3D,MAAM,IAAI;IACV,GAAG,MAAM,IAAI,SAAS,GAAG,EAAE;CAC3B,GACE,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAChE,EAAE,CAAA"}
@@ -0,0 +1,11 @@
1
+ export function arrayIs(a, b) {
2
+ if (a.length !== b.length)
3
+ return false;
4
+ return a.every((valueA, i) => {
5
+ const valueB = b[i];
6
+ if (Array.isArray(valueA) && Array.isArray(valueB))
7
+ return arrayIs(valueA, valueB);
8
+ return Object.is(valueA, valueB);
9
+ });
10
+ }
11
+ //# sourceMappingURL=Array.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Array.js","sourceRoot":"","sources":["../../../src/Utils/Array.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,OAAO,CACtB,CAAK,EACL,CAAK;IAEL,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM;QAAE,OAAO,KAAK,CAAA;IAEvC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5B,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;QACnB,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YACjD,OAAO,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,OAAO,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC,CAAC,CAAC,CAAA;AACH,CAAC"}
@@ -0,0 +1,75 @@
1
+ import type { CONST, PathKeys } from '../IdElements/index.js';
2
+ import type { CollectableAncestorKeys, CollectionAncestorKeys, CollectionPathKeys } from '../IdElements/PathKeys.js';
3
+ import type TypeId from '../IdElements/TypeId.js';
4
+ import type { Collectable, Collection, NonCollectable, Primary, RulesPackageId } from '../StringId.js';
5
+ import type { Split } from './String.js';
6
+ export type AnyCollectionKeys = CollectionAncestorKeys | CollectionPathKeys;
7
+ export type ExtractTypeId<T extends Primary> = T extends NonCollectable ? ExtractNonCollectableTypeId<T> : T extends Collectable ? ExtractCollectableTypeId<T> : T extends Collection ? ExtractCollectionTypeId<T> : never;
8
+ type ExtractNonCollectableTypeId<T extends NonCollectable> = Split<T, CONST.PrefixSep> extends [
9
+ infer TypeId extends TypeId.NonCollectable,
10
+ ...string[]
11
+ ] ? TypeId : never;
12
+ type ExtractCollectableTypeId<T extends Collectable> = Split<T, CONST.PrefixSep> extends [
13
+ infer TypeId extends TypeId.Collectable,
14
+ ...string[]
15
+ ] ? TypeId : never;
16
+ type ExtractCollectionTypeId<T extends Collection> = Split<T, CONST.PrefixSep> extends [
17
+ infer TypeId extends TypeId.Collection,
18
+ ...string[]
19
+ ] ? TypeId : never;
20
+ type ExtractPath<T extends Primary> = Split<T, CONST.PrefixSep> extends [string, infer U extends string] ? U : never;
21
+ type ExtractPrimaryPath<T extends Primary> = Split<ExtractPath<T>, CONST.TypeSep> extends [
22
+ infer U extends string,
23
+ ...string[]
24
+ ] ? U : Split<ExtractPath<T>, CONST.TypeSep> extends [infer U extends string] ? U : never;
25
+ export type ExtractRulesPackage<T extends Primary> = Split<ExtractPrimaryPath<T>> extends [
26
+ infer RulesPackage extends RulesPackageId,
27
+ TypeId.Primary,
28
+ ...string[]
29
+ ] ? RulesPackage : never;
30
+ export type ExtractPathKeys<T extends Primary> = Split<ExtractPath<T>>;
31
+ export type ExtractPrimaryPathKeys<T extends Primary> = Split<ExtractPrimaryPath<T>>;
32
+ export type ExtractPrimaryKey<T extends Primary> = ExtractPrimaryPathKeys<T> extends [infer U extends string] ? U : ExtractPrimaryPathKeys<T> extends [...string[], infer U extends string] ? U : never;
33
+ export type ExtractPrimaryAncestorKeys<T extends Primary> = T extends Collection ? ExtractPrimaryPathKeys<T> extends [
34
+ ...infer U extends PathKeys.CollectionAncestorKeys,
35
+ string
36
+ ] ? U : T extends Collectable ? ExtractPrimaryPathKeys<T> extends [
37
+ ...infer U extends PathKeys.CollectableAncestorKeys,
38
+ string
39
+ ] ? U : never : T extends NonCollectable ? [] : never : never;
40
+ export type ExtractKey<T extends Primary> = Split<T> extends [
41
+ TypeId.Primary,
42
+ RulesPackageId,
43
+ ...string[],
44
+ infer Key extends string
45
+ ] ? Key : Split<T> extends [
46
+ TypeId.Primary,
47
+ RulesPackageId,
48
+ infer Key extends string
49
+ ] ? Key : never;
50
+ export type ExtractAncestorKeys<T extends Primary> = T extends Collectable ? ExtractCollectionAncestorKeys<T> : T extends Collectable ? ExtractCollectableAncestorKeys<T> : Split<T> extends [
51
+ RulesPackageId,
52
+ TypeId.Primary,
53
+ ...infer AncestorKeys extends string[],
54
+ string
55
+ ] ? AncestorKeys : Split<T> extends [RulesPackageId, TypeId.Primary, string] ? [] : never;
56
+ export type ExtractParentCollectionKey<T extends Collectable> = Split<T> extends [
57
+ RulesPackageId,
58
+ TypeId.Collectable,
59
+ infer ParentCollectionKey extends string,
60
+ string
61
+ ] ? ParentCollectionKey : never;
62
+ type ExtractCollectionAncestorKeys<T extends Collectable> = Split<T> extends [
63
+ RulesPackageId,
64
+ TypeId.Collection,
65
+ ...infer AncestorKeys extends CollectionAncestorKeys,
66
+ string
67
+ ] ? AncestorKeys : never;
68
+ type ExtractCollectableAncestorKeys<T extends Collectable> = Split<T> extends [
69
+ RulesPackageId,
70
+ TypeId.Collectable,
71
+ ...infer AncestorKeys extends CollectableAncestorKeys,
72
+ string
73
+ ] ? AncestorKeys : never;
74
+ export {};
75
+ //# sourceMappingURL=Id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Id.d.ts","sourceRoot":"","sources":["../../../src/Utils/Id.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=Id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Id.js","sourceRoot":"","sources":["../../../src/Utils/Id.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ type Enumerate<N extends number, Acc extends number[] = []> = Acc['length'] extends N ? Acc[number] : Enumerate<N, [...Acc, Acc['length']]>;
2
+ /** A Union of integer values from F to T, exclusive */
3
+ export type Range<F extends number, T extends number> = Exclude<Enumerate<T>, Enumerate<F>>;
4
+ export {};
5
+ //# sourceMappingURL=Number.d.ts.map