@undefineds.co/drizzle-solid 0.3.2 → 0.3.4

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 (116) hide show
  1. package/dist/core/query-builders/select-query-builder.d.ts.map +1 -1
  2. package/dist/core/query-builders/select-query-builder.js +12 -3
  3. package/dist/core/query-builders/select-query-builder.js.map +1 -1
  4. package/dist/core/resource-resolver/base-resolver.d.ts +23 -2
  5. package/dist/core/resource-resolver/base-resolver.d.ts.map +1 -1
  6. package/dist/core/resource-resolver/base-resolver.js +137 -16
  7. package/dist/core/resource-resolver/base-resolver.js.map +1 -1
  8. package/dist/core/resource-resolver/document-resolver.d.ts.map +1 -1
  9. package/dist/core/resource-resolver/document-resolver.js +2 -4
  10. package/dist/core/resource-resolver/document-resolver.js.map +1 -1
  11. package/dist/core/sparql/builder/expression-builder.d.ts +2 -0
  12. package/dist/core/sparql/builder/expression-builder.d.ts.map +1 -1
  13. package/dist/core/sparql/builder/expression-builder.js +19 -7
  14. package/dist/core/sparql/builder/expression-builder.js.map +1 -1
  15. package/dist/core/subject/resolver.d.ts +4 -0
  16. package/dist/core/subject/resolver.d.ts.map +1 -1
  17. package/dist/core/subject/resolver.js +53 -4
  18. package/dist/core/subject/resolver.js.map +1 -1
  19. package/dist/core/uri/resolver.d.ts +3 -0
  20. package/dist/core/uri/resolver.d.ts.map +1 -1
  21. package/dist/core/uri/resolver.js +38 -3
  22. package/dist/core/uri/resolver.js.map +1 -1
  23. package/dist/driver.d.ts +11 -0
  24. package/dist/driver.d.ts.map +1 -1
  25. package/dist/driver.js +1 -1
  26. package/dist/driver.js.map +1 -1
  27. package/dist/esm/core/ast-to-sparql.js +5 -5
  28. package/dist/esm/core/compile-time-types.js +1 -1
  29. package/dist/esm/core/discovery/composite-discovery.js +1 -1
  30. package/dist/esm/core/discovery/index.js +6 -6
  31. package/dist/esm/core/discovery/interop-discovery.js +3 -3
  32. package/dist/esm/core/discovery/interop-tables.js +2 -2
  33. package/dist/esm/core/discovery/typeindex-discovery.js +1 -1
  34. package/dist/esm/core/execution/index.js +4 -4
  35. package/dist/esm/core/execution/ldp-executor.js +1 -1
  36. package/dist/esm/core/execution/sparql-strategy.js +2 -2
  37. package/dist/esm/core/execution/strategy-factory.js +2 -2
  38. package/dist/esm/core/federated/executor.js +1 -1
  39. package/dist/esm/core/federated/index.js +2 -2
  40. package/dist/esm/core/notifications/channels/index.js +3 -3
  41. package/dist/esm/core/notifications/channels/sse-channel.js +1 -1
  42. package/dist/esm/core/notifications/channels/websocket-channel.js +1 -1
  43. package/dist/esm/core/notifications/index.js +1 -1
  44. package/dist/esm/core/notifications/notifications-client.js +2 -2
  45. package/dist/esm/core/pod-database.js +6 -6
  46. package/dist/esm/core/pod-dialect.js +8 -8
  47. package/dist/esm/core/pod-session.js +4 -4
  48. package/dist/esm/core/query-builders/delete-query-builder.js +2 -2
  49. package/dist/esm/core/query-builders/helpers.js +2 -2
  50. package/dist/esm/core/query-builders/index.js +4 -4
  51. package/dist/esm/core/query-builders/insert-query-builder.js +2 -2
  52. package/dist/esm/core/query-builders/select-query-builder.d.ts.map +1 -1
  53. package/dist/esm/core/query-builders/select-query-builder.js +20 -11
  54. package/dist/esm/core/query-builders/select-query-builder.js.map +1 -1
  55. package/dist/esm/core/query-builders/update-query-builder.js +2 -2
  56. package/dist/esm/core/query-conditions.js +1 -1
  57. package/dist/esm/core/query-where-policy.js +1 -1
  58. package/dist/esm/core/resource-resolver/base-resolver.d.ts +23 -2
  59. package/dist/esm/core/resource-resolver/base-resolver.d.ts.map +1 -1
  60. package/dist/esm/core/resource-resolver/base-resolver.js +137 -16
  61. package/dist/esm/core/resource-resolver/base-resolver.js.map +1 -1
  62. package/dist/esm/core/resource-resolver/document-resolver.d.ts.map +1 -1
  63. package/dist/esm/core/resource-resolver/document-resolver.js +4 -6
  64. package/dist/esm/core/resource-resolver/document-resolver.js.map +1 -1
  65. package/dist/esm/core/resource-resolver/factory.js +3 -3
  66. package/dist/esm/core/resource-resolver/fragment-resolver.js +1 -1
  67. package/dist/esm/core/resource-resolver/index.js +4 -4
  68. package/dist/esm/core/runtime/pod-runtime.js +2 -2
  69. package/dist/esm/core/schema/columns.js +1 -1
  70. package/dist/esm/core/schema/factories.js +2 -2
  71. package/dist/esm/core/schema/index.js +8 -8
  72. package/dist/esm/core/schema/pod-table.js +4 -4
  73. package/dist/esm/core/schema/relations.js +1 -1
  74. package/dist/esm/core/schema/solid-schema.js +4 -4
  75. package/dist/esm/core/schema/utils.js +1 -1
  76. package/dist/esm/core/services/pod-services.js +9 -9
  77. package/dist/esm/core/shape/generator.js +1 -1
  78. package/dist/esm/core/shape/index.js +3 -3
  79. package/dist/esm/core/shape/manager.js +4 -4
  80. package/dist/esm/core/shape/shacl-parser.js +1 -1
  81. package/dist/esm/core/shape/validator.js +1 -1
  82. package/dist/esm/core/sparql/builder/expression-builder.d.ts +2 -0
  83. package/dist/esm/core/sparql/builder/expression-builder.d.ts.map +1 -1
  84. package/dist/esm/core/sparql/builder/expression-builder.js +22 -10
  85. package/dist/esm/core/sparql/builder/expression-builder.js.map +1 -1
  86. package/dist/esm/core/sparql/builder/select-builder.js +6 -6
  87. package/dist/esm/core/sparql/builder/update-builder.js +3 -3
  88. package/dist/esm/core/sparql/helpers.js +1 -1
  89. package/dist/esm/core/sparql-engine.js +1 -1
  90. package/dist/esm/core/sparql-executor.js +1 -1
  91. package/dist/esm/core/subject/index.js +1 -1
  92. package/dist/esm/core/subject/resolver.d.ts +4 -0
  93. package/dist/esm/core/subject/resolver.d.ts.map +1 -1
  94. package/dist/esm/core/subject/resolver.js +53 -4
  95. package/dist/esm/core/subject/resolver.js.map +1 -1
  96. package/dist/esm/core/triple/builder.js +2 -2
  97. package/dist/esm/core/triple/handlers/index.js +10 -10
  98. package/dist/esm/core/triple/handlers/inverse.js +1 -1
  99. package/dist/esm/core/triple/handlers/uri.js +1 -1
  100. package/dist/esm/core/triple/index.js +2 -2
  101. package/dist/esm/core/typeindex-manager.js +1 -1
  102. package/dist/esm/core/uri/index.js +1 -1
  103. package/dist/esm/core/uri/resolver.d.ts +3 -0
  104. package/dist/esm/core/uri/resolver.d.ts.map +1 -1
  105. package/dist/esm/core/uri/resolver.js +38 -3
  106. package/dist/esm/core/uri/resolver.js.map +1 -1
  107. package/dist/esm/driver.d.ts +11 -0
  108. package/dist/esm/driver.d.ts.map +1 -1
  109. package/dist/esm/driver.js +4 -4
  110. package/dist/esm/driver.js.map +1 -1
  111. package/dist/esm/index.js +22 -22
  112. package/dist/esm/package.json +3 -0
  113. package/dist/esm/pod.js +2 -2
  114. package/dist/esm/solid.js +1 -1
  115. package/dist/esm/utils/rdf-validation.js +1 -1
  116. package/package.json +2 -2
@@ -65,15 +65,7 @@ export class BaseResourceResolver {
65
65
  }
66
66
  // 应用模板生成相对路径
67
67
  const template = this.getEffectiveTemplate(table);
68
- let relativePath = this.applyTemplate(id, template);
69
- // Handle multi-variable templates: replace other {var} placeholders from record
70
- const variables = Array.from(template.matchAll(/\{([^}]+)\}/g)).map(m => m[1]);
71
- for (const varName of variables) {
72
- if (varName !== 'id' && varName !== 'index' && varName in record) {
73
- const value = String(record[varName]);
74
- relativePath = relativePath.replace(new RegExp(`\\{${varName}\\}`, 'g'), value);
75
- }
76
- }
68
+ const relativePath = this.applyTemplate({ ...record, id }, template, table, index);
77
69
  return baseUrl + relativePath;
78
70
  }
79
71
  /**
@@ -107,12 +99,33 @@ export class BaseResourceResolver {
107
99
  /**
108
100
  * 应用模板生成相对路径
109
101
  *
110
- * @param id 简单 id (如 "alice")
102
+ * @param record 记录数据
111
103
  * @param template 模板 (如 "{id}.ttl#it")
112
104
  * @returns 相对路径 (如 "alice.ttl#it")
113
105
  */
114
- applyTemplate(id, template) {
115
- return template.replace(/\{id\}/g, id);
106
+ applyTemplate(record, template, table, index) {
107
+ if (!template.includes('{')) {
108
+ return template;
109
+ }
110
+ const timeContext = this.createTimeContext(record);
111
+ return template.replace(/\{([^}]+)\}/g, (_match, token) => {
112
+ const variable = this.parseTemplateVariable(token);
113
+ const field = variable.field;
114
+ if (field === 'index' && index !== undefined) {
115
+ return String(index + 1);
116
+ }
117
+ if (field in timeContext) {
118
+ return timeContext[field];
119
+ }
120
+ let rawValue = record[field];
121
+ if (field === 'id' && (rawValue === undefined || rawValue === null)) {
122
+ rawValue = record['@id'] ?? record.uri;
123
+ }
124
+ if (rawValue === undefined || rawValue === null) {
125
+ return `{${token}}`;
126
+ }
127
+ return this.applyTemplateTransforms(rawValue, variable, table, field);
128
+ });
116
129
  }
117
130
  /**
118
131
  * 从相对路径反向解析出所有模板变量
@@ -122,13 +135,34 @@ export class BaseResourceResolver {
122
135
  * @returns 所有变量的键值对,解析失败返回 null
123
136
  */
124
137
  extractVarsFromTemplate(relativePath, template) {
138
+ let groupIndex = 0;
139
+ const groupToField = new Map();
125
140
  let regexStr = template
126
141
  .replace(/[.+?^$[\]\\()]/g, '\\$&')
127
- .replace(/\{([^}]+)\}/g, '(?<$1>.+?)');
142
+ .replace(/\{([^}]+)\}/g, (_match, token) => {
143
+ const variable = this.parseTemplateVariable(token);
144
+ const groupName = `var${groupIndex++}`;
145
+ groupToField.set(groupName, variable.field);
146
+ return `(?<${groupName}>.+?)`;
147
+ });
128
148
  regexStr = `^${regexStr}$`;
129
149
  try {
130
150
  const match = relativePath.match(new RegExp(regexStr));
131
- return match?.groups ? { ...match.groups } : null;
151
+ if (!match?.groups) {
152
+ return null;
153
+ }
154
+ const values = {};
155
+ for (const [groupName, value] of Object.entries(match.groups)) {
156
+ const field = groupToField.get(groupName);
157
+ if (!field || value === undefined) {
158
+ continue;
159
+ }
160
+ if (field in values && values[field] !== value) {
161
+ return null;
162
+ }
163
+ values[field] = value;
164
+ }
165
+ return values;
132
166
  }
133
167
  catch {
134
168
  return null;
@@ -177,12 +211,13 @@ export class BaseResourceResolver {
177
211
  extractTemplateValues(condition, columns) {
178
212
  if (!condition || columns.length === 0)
179
213
  return {};
214
+ const normalizedColumns = Array.from(new Set(columns.map((column) => this.parseTemplateVariable(column).field)));
180
215
  const values = {};
181
216
  // Handle simple object: { col: 'value' }
182
217
  if (typeof condition === 'object' && !('type' in condition)) {
183
218
  for (const [rawKey, rawValue] of Object.entries(condition)) {
184
219
  const key = this.normalizeConditionColumnName(rawKey);
185
- if (!columns.includes(key)) {
220
+ if (!normalizedColumns.includes(key)) {
186
221
  continue;
187
222
  }
188
223
  if (rawValue != null && !Array.isArray(rawValue)) {
@@ -192,7 +227,7 @@ export class BaseResourceResolver {
192
227
  return values;
193
228
  }
194
229
  // Handle QueryCondition structure
195
- for (const col of columns) {
230
+ for (const col of normalizedColumns) {
196
231
  const found = this.collectColumnValue(condition, col);
197
232
  if (found !== undefined) {
198
233
  values[col] = found;
@@ -260,6 +295,92 @@ export class BaseResourceResolver {
260
295
  }
261
296
  return rawName.includes('.') ? rawName.split('.').pop() ?? rawName : rawName;
262
297
  }
298
+ parseTemplateVariable(token) {
299
+ const [field, ...transforms] = token
300
+ .split('|')
301
+ .map((part) => part.trim())
302
+ .filter(Boolean);
303
+ return {
304
+ raw: token,
305
+ field: field || token,
306
+ transforms,
307
+ };
308
+ }
309
+ getTemplateVariables(template) {
310
+ return Array.from(template.matchAll(/\{([^}]+)\}/g)).map((match) => this.parseTemplateVariable(match[1]));
311
+ }
312
+ createTimeContext(record) {
313
+ let date;
314
+ const createdAt = record.createdAt ?? record.created_at ?? record.dateCreated;
315
+ if (createdAt instanceof Date) {
316
+ date = createdAt;
317
+ }
318
+ else if (typeof createdAt === 'string' || typeof createdAt === 'number') {
319
+ date = new Date(createdAt);
320
+ }
321
+ else {
322
+ date = new Date();
323
+ }
324
+ return {
325
+ yyyy: date.getUTCFullYear().toString(),
326
+ MM: String(date.getUTCMonth() + 1).padStart(2, '0'),
327
+ dd: String(date.getUTCDate()).padStart(2, '0'),
328
+ HH: String(date.getUTCHours()).padStart(2, '0'),
329
+ mm: String(date.getUTCMinutes()).padStart(2, '0'),
330
+ ss: String(date.getUTCSeconds()).padStart(2, '0'),
331
+ };
332
+ }
333
+ applyTemplateTransforms(value, variable, table, field) {
334
+ let next = this.normalizeTemplateValue(value, table, field);
335
+ for (const transform of variable.transforms) {
336
+ if (transform === 'id') {
337
+ next = this.extractTemplateId(next, table, field);
338
+ continue;
339
+ }
340
+ if (transform === 'slug') {
341
+ next = this.slugifyValue(next);
342
+ }
343
+ }
344
+ return next;
345
+ }
346
+ normalizeTemplateValue(value, table, field) {
347
+ const stringValue = String(value);
348
+ if (!table || !field || !this.isAbsoluteUri(stringValue)) {
349
+ return stringValue;
350
+ }
351
+ const column = table.columns?.[field];
352
+ if (!this.isLinkColumn(column)) {
353
+ return stringValue;
354
+ }
355
+ return this.extractTemplateId(stringValue, table, field);
356
+ }
357
+ extractTemplateId(value, table, field) {
358
+ if (!this.isAbsoluteUri(value)) {
359
+ return value;
360
+ }
361
+ const column = table && field ? table.columns?.[field] : undefined;
362
+ const linkedTable = column?.getLinkTable?.() ?? column?.options?.linkTable;
363
+ if (linkedTable) {
364
+ return this.parseId(linkedTable, value);
365
+ }
366
+ const fallback = this.extractIdFallback(value);
367
+ return fallback.startsWith('#') ? fallback.slice(1) : fallback.replace(/\.ttl$/i, '');
368
+ }
369
+ isLinkColumn(column) {
370
+ return !!(column?.getLinkTable?.() ||
371
+ column?.options?.linkTable ||
372
+ column?.getLinkTableName?.() ||
373
+ column?.options?.linkTableName ||
374
+ column?.getLinkTarget?.() ||
375
+ column?.options?.linkTarget);
376
+ }
377
+ slugifyValue(value) {
378
+ return value
379
+ .normalize('NFKC')
380
+ .toLowerCase()
381
+ .replace(/[^\p{Letter}\p{Number}]+/gu, '-')
382
+ .replace(/^-+|-+$/g, '');
383
+ }
263
384
  /**
264
385
  * Resolve base URL for a table's base configuration
265
386
  */
@@ -1 +1 @@
1
- {"version":3,"file":"base-resolver.js","sourceRoot":"","sources":["../../../../src/core/resource-resolver/base-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base-resolver.js","sourceRoot":"","sources":["../../../../src/core/resource-resolver/base-resolver.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-resolver.d.ts","sourceRoot":"","sources":["../../../../src/core/resource-resolver/document-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAQvD,qBAAa,wBAAyB,SAAQ,oBAAoB;IAChE,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,mCAAmC;IAQ3C,OAAO,CAAC,uCAAuC;IAQ/C;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAexC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAOvC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAIrD,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS9C,oBAAoB,CACxB,KAAK,EAAE,QAAQ,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,cAAc,EAC1B,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,GAClD,OAAO,CAAC,MAAM,EAAE,CAAC;IA8Dd,0BAA0B,CAC9B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,EACxD,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC;CAyCrB"}
1
+ {"version":3,"file":"document-resolver.d.ts","sourceRoot":"","sources":["../../../../src/core/resource-resolver/document-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AAQvD,qBAAa,wBAAyB,SAAQ,oBAAoB;IAChE,QAAQ,CAAC,IAAI,EAAG,UAAU,CAAU;IAEpC,OAAO,CAAC,mCAAmC;IAQ3C,OAAO,CAAC,uCAAuC;IAQ/C;;OAEG;IACH,SAAS,CAAC,kBAAkB,IAAI,MAAM;IAItC,eAAe,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAexC,cAAc,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAOvC;;;;OAIG;IACH,SAAS,CAAC,kBAAkB,CAAC,KAAK,EAAE,QAAQ,GAAG,MAAM;IAIrD,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAS9C,oBAAoB,CACxB,KAAK,EAAE,QAAQ,EACf,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,cAAc,EAC1B,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,GAClD,OAAO,CAAC,MAAM,EAAE,CAAC;IA+Dd,0BAA0B,CAC9B,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,cAAc,EACzB,YAAY,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,EACxD,aAAa,EAAE,MAAM,OAAO,CAAC,MAAM,EAAE,CAAC,GACrC,OAAO,CAAC,MAAM,EAAE,CAAC;CA0CrB"}
@@ -10,8 +10,8 @@
10
10
  * - 写入: id = "alice" → relativePath = "alice.ttl#it" → uri = base + relativePath
11
11
  * - 读取: uri - base = "alice.ttl#it" → 反向解析模板 → id = "alice"
12
12
  */
13
- import { BaseResourceResolver } from './base-resolver';
14
- import { getGlobalDebugLogger } from '../utils/debug-logger';
13
+ import { BaseResourceResolver } from './base-resolver.js';
14
+ import { getGlobalDebugLogger } from '../utils/debug-logger.js';
15
15
  /**
16
16
  * 默认的 document 模板
17
17
  */
@@ -74,8 +74,7 @@ export class DocumentResourceResolver extends BaseResourceResolver {
74
74
  async resolveSelectSources(table, containerUrl, condition, listContainer) {
75
75
  const debug = getGlobalDebugLogger();
76
76
  const template = this.getEffectiveTemplate(table);
77
- const variables = Array.from(template.matchAll(/\{([^}]+)\}/g)).map(m => m[1]);
78
- const requiredVars = variables.filter(v => v !== 'id' && v !== 'index');
77
+ const requiredVars = Array.from(new Set(this.getTemplateVariables(template).map((variable) => variable.field))).filter((field) => field !== 'id' && field !== 'index');
79
78
  const idValues = this.extractIdValues(condition);
80
79
  // Collect all available template variable values from condition
81
80
  const templateValues = this.extractTemplateValues(condition, requiredVars);
@@ -124,8 +123,7 @@ export class DocumentResourceResolver extends BaseResourceResolver {
124
123
  }
125
124
  async resolveSubjectsForMutation(table, condition, findSubjects, listContainer) {
126
125
  const template = this.getEffectiveTemplate(table);
127
- const variables = Array.from(template.matchAll(/\{([^}]+)\}/g)).map(m => m[1]);
128
- const requiredVars = variables.filter(v => v !== 'id' && v !== 'index');
126
+ const requiredVars = Array.from(new Set(this.getTemplateVariables(template).map((variable) => variable.field))).filter((field) => field !== 'id' && field !== 'index');
129
127
  const idValues = this.extractIdValues(condition);
130
128
  // Collect all available template variable values from condition
131
129
  const templateValues = this.extractTemplateValues(condition, requiredVars);
@@ -1 +1 @@
1
- {"version":3,"file":"document-resolver.js","sourceRoot":"","sources":["../../../../src/core/resource-resolver/document-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-resolver.js","sourceRoot":"","sources":["../../../../src/core/resource-resolver/document-resolver.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  *
4
4
  * Creates the appropriate resolver based on table configuration
5
5
  */
6
- import { FragmentResourceResolver } from './fragment-resolver';
7
- import { DocumentResourceResolver } from './document-resolver';
8
- import { UriResolverImpl } from '../uri';
6
+ import { FragmentResourceResolver } from './fragment-resolver.js';
7
+ import { DocumentResourceResolver } from './document-resolver.js';
8
+ import { UriResolverImpl } from '../uri/index.js';
9
9
  export class ResourceResolverFactoryImpl {
10
10
  constructor(podBaseUrl, uriResolver) {
11
11
  this.resolverCache = new WeakMap();
@@ -10,7 +10,7 @@
10
10
  * - 写入: id = "tag-1" → relativePath = "#tag-1" → uri = base + relativePath
11
11
  * - 读取: uri - base = "#tag-1" → 反向解析模板 → id = "tag-1"
12
12
  */
13
- import { BaseResourceResolver } from './base-resolver';
13
+ import { BaseResourceResolver } from './base-resolver.js';
14
14
  /**
15
15
  * 默认的 fragment 模板
16
16
  */
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Provides abstraction for fragment vs document mode resource resolution
5
5
  */
6
- export { BaseResourceResolver } from './base-resolver';
7
- export { FragmentResourceResolver } from './fragment-resolver';
8
- export { DocumentResourceResolver } from './document-resolver';
9
- export { ResourceResolverFactoryImpl, getResourceMode } from './factory';
6
+ export { BaseResourceResolver } from './base-resolver.js';
7
+ export { FragmentResourceResolver } from './fragment-resolver.js';
8
+ export { DocumentResourceResolver } from './document-resolver.js';
9
+ export { ResourceResolverFactoryImpl, getResourceMode } from './factory.js';
10
10
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,5 @@
1
- import { resolvePodBase } from '../utils/pod-root';
2
- import { webIdResolver } from '../../utils/webid-resolver';
1
+ import { resolvePodBase } from '../utils/pod-root.js';
2
+ import { webIdResolver } from '../../utils/webid-resolver.js';
3
3
  // 生成唯一请求 ID
4
4
  function generateRequestId() {
5
5
  const timestamp = Date.now().toString(36);
@@ -1,6 +1,6 @@
1
1
  var _a;
2
2
  import { entityKind } from 'drizzle-orm';
3
- import { resolveTermIri } from './defs';
3
+ import { resolveTermIri } from './defs.js';
4
4
  export class ColumnBuilder {
5
5
  constructor(name, dataType, options = {}, predicate, elementType) {
6
6
  this.name = name;
@@ -1,5 +1,5 @@
1
- import { generateNanoId } from './defs';
2
- import { ColumnBuilder, PodStringColumn } from './columns';
1
+ import { generateNanoId } from './defs.js';
2
+ import { ColumnBuilder, PodStringColumn } from './columns.js';
3
3
  export function boolean(name, options = {}) {
4
4
  return new ColumnBuilder(name, 'boolean', options);
5
5
  }
@@ -1,9 +1,9 @@
1
- export * from './defs';
2
- export * from './columns';
3
- export * from './types';
4
- export * from './factories';
5
- export * from './solid-schema';
6
- export * from './pod-table';
7
- export * from './relations';
8
- export * from './utils';
1
+ export * from './defs.js';
2
+ export * from './columns.js';
3
+ export * from './types.js';
4
+ export * from './factories.js';
5
+ export * from './solid-schema.js';
6
+ export * from './pod-table.js';
7
+ export * from './relations.js';
8
+ export * from './utils.js';
9
9
  //# sourceMappingURL=index.js.map
@@ -1,9 +1,9 @@
1
1
  var _a;
2
2
  import { entityKind } from 'drizzle-orm';
3
- import { resolveTermIri } from './defs';
4
- import { PodColumnBase, PodIntegerColumn, PodDateTimeColumn, PodBooleanColumn, PodJsonColumn, PodObjectColumn, PodArrayColumn, PodUriColumn, PodStringColumn } from './columns';
5
- import { SolidSchema } from './solid-schema';
6
- import { deepClone } from '../../utils/helpers';
3
+ import { resolveTermIri } from './defs.js';
4
+ import { PodColumnBase, PodIntegerColumn, PodDateTimeColumn, PodBooleanColumn, PodJsonColumn, PodObjectColumn, PodArrayColumn, PodUriColumn, PodStringColumn } from './columns.js';
5
+ import { SolidSchema } from './solid-schema.js';
6
+ import { deepClone } from '../../utils/helpers.js';
7
7
  export class PodTable {
8
8
  constructor(name, columns, options) {
9
9
  this.initialized = false;
@@ -1,4 +1,4 @@
1
- import { isSolidSchema } from './solid-schema';
1
+ import { isSolidSchema } from './solid-schema.js';
2
2
  export function relations(table, builder) {
3
3
  const helpers = {
4
4
  one: (target, options = {}) => {
@@ -1,7 +1,7 @@
1
- import { resolveTermIri } from './defs';
2
- import { PodColumnBase, PodIntegerColumn, PodDateTimeColumn, PodBooleanColumn, PodJsonColumn, PodObjectColumn, PodArrayColumn, PodUriColumn, PodStringColumn } from './columns';
3
- import { mergeSchemaColumns } from './utils';
4
- import { PodTable } from './pod-table';
1
+ import { resolveTermIri } from './defs.js';
2
+ import { PodColumnBase, PodIntegerColumn, PodDateTimeColumn, PodBooleanColumn, PodJsonColumn, PodObjectColumn, PodArrayColumn, PodUriColumn, PodStringColumn } from './columns.js';
3
+ import { mergeSchemaColumns } from './utils.js';
4
+ import { PodTable } from './pod-table.js';
5
5
  export class SolidSchema {
6
6
  constructor(columns, options) {
7
7
  this.columns = columns;
@@ -1,4 +1,4 @@
1
- import { PodColumnBase } from './columns';
1
+ import { PodColumnBase } from './columns.js';
2
2
  /**
3
3
  * 验证子类列不能修改父类的 predicate
4
4
  * @internal
@@ -1,12 +1,12 @@
1
- import { ASTToSPARQLConverter } from '../ast-to-sparql';
2
- import { CompositeDiscovery, InteropDiscovery, TypeIndexDiscovery } from '../discovery';
3
- import { LdpExecutor } from '../execution/ldp-executor';
4
- import { ExecutionStrategyFactoryImpl } from '../execution';
5
- import { ResourceResolverFactoryImpl } from '../resource-resolver';
6
- import { DrizzleShapeManager } from '../shape';
7
- import { SolidSPARQLExecutor } from '../sparql-executor';
8
- import { TypeIndexManager } from '../typeindex-manager';
9
- import { UriResolverImpl } from '../uri';
1
+ import { ASTToSPARQLConverter } from '../ast-to-sparql.js';
2
+ import { CompositeDiscovery, InteropDiscovery, TypeIndexDiscovery } from '../discovery/index.js';
3
+ import { LdpExecutor } from '../execution/ldp-executor.js';
4
+ import { ExecutionStrategyFactoryImpl } from '../execution/index.js';
5
+ import { ResourceResolverFactoryImpl } from '../resource-resolver/index.js';
6
+ import { DrizzleShapeManager } from '../shape/index.js';
7
+ import { SolidSPARQLExecutor } from '../sparql-executor.js';
8
+ import { TypeIndexManager } from '../typeindex-manager.js';
9
+ import { UriResolverImpl } from '../uri/index.js';
10
10
  export class PodServices {
11
11
  constructor(options) {
12
12
  const runtime = options.runtime;
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * 从 PodTable 生成 Shape 定义
5
5
  */
6
- import { XSD } from './types';
6
+ import { XSD } from './types.js';
7
7
  /**
8
8
  * 从 PodTable 生成 Shape
9
9
  */
@@ -1,4 +1,4 @@
1
- export * from './types';
2
- export * from './manager';
3
- export * from './shacl-parser';
1
+ export * from './types.js';
2
+ export * from './manager.js';
3
+ export * from './shacl-parser.js';
4
4
  //# sourceMappingURL=index.js.map
@@ -1,8 +1,8 @@
1
- import { podTable, string, integer, boolean, date, uri, object } from '../schema';
2
- import { XSD, SHACL } from './types';
3
- import { getPredicateForColumn } from '../sparql/helpers';
1
+ import { podTable, string, integer, boolean, date, uri, object } from '../schema/index.js';
2
+ import { XSD, SHACL } from './types.js';
3
+ import { getPredicateForColumn } from '../sparql/helpers.js';
4
4
  import { z } from 'zod';
5
- import { parseSHACL, xsdToDrizzleType, nodeKindToDrizzleType } from './shacl-parser';
5
+ import { parseSHACL, xsdToDrizzleType, nodeKindToDrizzleType } from './shacl-parser.js';
6
6
  export class DrizzleShapeManager {
7
7
  constructor(podUrl, authenticatedFetch) {
8
8
  this.podUrl = podUrl.endsWith('/') ? podUrl : `${podUrl}/`;
@@ -4,7 +4,7 @@
4
4
  * 从 Turtle 格式的 SHACL 定义解析出 Shape 对象
5
5
  */
6
6
  import { Parser, Store, NamedNode } from 'n3';
7
- import { SHACL, XSD } from './types';
7
+ import { SHACL, XSD } from './types.js';
8
8
  /**
9
9
  * 从 Turtle 内容解析 SHACL Shape
10
10
  */
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * 验证数据是否符合 Shape 定义
5
5
  */
6
- import { XSD } from './types';
6
+ import { XSD } from './types.js';
7
7
  /**
8
8
  * 验证数据是否符合 Shape
9
9
  */
@@ -29,6 +29,8 @@ export declare class ExpressionBuilder {
29
29
  * Uses uriResolver for consistent URI resolution
30
30
  */
31
31
  private formatLinkValue;
32
+ private parseTemplateVariable;
33
+ private getTemplateVariableFields;
32
34
  private getMissingLocatorVariables;
33
35
  private buildMissingLocatorError;
34
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"expression-builder.d.ts","sourceRoot":"","sources":["../../../../../src/core/sparql/builder/expression-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAiB,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAuB;IAC5C,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,GAAE,WAAmC;IAI5D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIpD;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM;IAK1E,wBAAwB,CACtB,SAAS,EAAE,cAAc,GAAG,GAAG,EAC/B,KAAK,EAAE,QAAQ,GACd;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,CAAC,EAAE,cAAc,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;IASzE;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,0BAA0B;IAYlC,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,gCAAgC;IA0DxC,OAAO,CAAC,kCAAkC;IAmC1C,OAAO,CAAC,wCAAwC;IAwEhD,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,qBAAqB;IA0F7B,OAAO,CAAC,iBAAiB;CAa1B"}
1
+ {"version":3,"file":"expression-builder.d.ts","sourceRoot":"","sources":["../../../../../src/core/sparql/builder/expression-builder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAExD,OAAO,EAAE,QAAQ,EAAiB,MAAM,cAAc,CAAC;AAEvD,OAAO,KAAK,EAAc,WAAW,EAAE,MAAM,WAAW,CAAC;AAEzD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAEhE,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAuB;IAC5C,OAAO,CAAC,WAAW,CAAc;gBAErB,WAAW,GAAE,WAAmC;IAI5D;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAIpD;;OAEG;IACH,OAAO,CAAC,aAAa;IASrB,gBAAgB,CAAC,SAAS,EAAE,cAAc,GAAG,GAAG,EAAE,KAAK,EAAE,QAAQ,GAAG,MAAM;IAK1E,wBAAwB,CACtB,SAAS,EAAE,cAAc,GAAG,GAAG,EAC/B,KAAK,EAAE,QAAQ,GACd;QAAE,MAAM,EAAE,MAAM,EAAE,CAAC;QAAC,kBAAkB,CAAC,EAAE,cAAc,GAAG,GAAG,CAAA;KAAE,GAAG,IAAI;IASzE;;;OAGG;IACH,OAAO,CAAC,YAAY;IAIpB;;;OAGG;IACH,OAAO,CAAC,eAAe;IA+BvB,OAAO,CAAC,qBAAqB;IAY7B,OAAO,CAAC,yBAAyB;IAejC,OAAO,CAAC,0BAA0B;IAMlC,OAAO,CAAC,wBAAwB;IAUhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAgC1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,eAAe;IAsBvB,OAAO,CAAC,sBAAsB;IAa9B,OAAO,CAAC,gCAAgC;IA0DxC,OAAO,CAAC,kCAAkC;IAmC1C,OAAO,CAAC,wCAAwC;IAwEhD,OAAO,CAAC,oBAAoB;IAuC5B,OAAO,CAAC,qBAAqB;IA0F7B,OAAO,CAAC,iBAAiB;CAa1B"}
@@ -1,6 +1,6 @@
1
- import { LogicalExpression } from '../../expressions';
2
- import { formatValue, getPredicateForColumn } from '../helpers';
3
- import { UriResolverImpl } from '../../uri';
1
+ import { LogicalExpression } from '../../expressions.js';
2
+ import { formatValue, getPredicateForColumn } from '../helpers.js';
3
+ import { UriResolverImpl } from '../../uri/index.js';
4
4
  export class ExpressionBuilder {
5
5
  constructor(uriResolver = new UriResolverImpl()) {
6
6
  this.uriResolver = uriResolver;
@@ -77,14 +77,26 @@ export class ExpressionBuilder {
77
77
  throw new Error(`[ExpressionBuilder] Failed to resolve URI for ${tableName}.${columnName}: ${e}`);
78
78
  }
79
79
  }
80
- getMissingLocatorVariables(table) {
80
+ parseTemplateVariable(token) {
81
+ const [field, ...transforms] = token
82
+ .split('|')
83
+ .map((part) => part.trim())
84
+ .filter(Boolean);
85
+ return {
86
+ field: field || token,
87
+ transforms,
88
+ };
89
+ }
90
+ getTemplateVariableFields(table) {
81
91
  const template = table.config?.subjectTemplate ?? '';
82
92
  if (!template) {
83
93
  return [];
84
94
  }
85
- const reserved = new Set(['id', 'index', 'yyyy', 'MM', 'dd', 'timestamp', 'date']);
86
- return Array.from(template.matchAll(/\{([^}]+)\}/g))
87
- .map((match) => match[1])
95
+ return Array.from(new Set(Array.from(template.matchAll(/\{([^}]+)\}/g)).map((match) => this.parseTemplateVariable(match[1]).field)));
96
+ }
97
+ getMissingLocatorVariables(table) {
98
+ const reserved = new Set(['id', 'index', 'yyyy', 'MM', 'dd', 'HH', 'mm', 'ss', 'timestamp', 'date']);
99
+ return this.getTemplateVariableFields(table)
88
100
  .filter((name) => !reserved.has(name));
89
101
  }
90
102
  buildMissingLocatorError(table) {
@@ -244,9 +256,9 @@ export class ExpressionBuilder {
244
256
  if (!template.includes('{')) {
245
257
  return null;
246
258
  }
247
- const locatorVars = Array.from(template.matchAll(/\{([^}]+)\}/g))
248
- .map((match) => match[1])
249
- .filter((name) => name !== 'index' && name !== 'yyyy' && name !== 'MM' && name !== 'dd' && name !== 'timestamp' && name !== 'date');
259
+ const reserved = new Set(['index', 'yyyy', 'MM', 'dd', 'HH', 'mm', 'ss', 'timestamp', 'date']);
260
+ const locatorVars = this.getTemplateVariableFields(table)
261
+ .filter((name) => !reserved.has(name));
250
262
  if (locatorVars.length === 0) {
251
263
  return null;
252
264
  }