nx-content-store 0.1.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 (110) hide show
  1. package/README.md +45 -0
  2. package/dist/core/ManagedContentStore.d.ts +20 -0
  3. package/dist/core/ManagedContentStore.d.ts.map +1 -0
  4. package/dist/core/ManagedContentStore.js +2 -0
  5. package/dist/core/ManagedContentStore.js.map +1 -0
  6. package/dist/core/createManagedContentStore.d.ts +14 -0
  7. package/dist/core/createManagedContentStore.d.ts.map +1 -0
  8. package/dist/core/createManagedContentStore.js +127 -0
  9. package/dist/core/createManagedContentStore.js.map +1 -0
  10. package/dist/errors/errors.d.ts +32 -0
  11. package/dist/errors/errors.d.ts.map +1 -0
  12. package/dist/errors/errors.js +69 -0
  13. package/dist/errors/errors.js.map +1 -0
  14. package/dist/index.d.ts +23 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +12 -0
  17. package/dist/index.js.map +1 -0
  18. package/dist/orchestration/StorePersistenceAdapter.d.ts +25 -0
  19. package/dist/orchestration/StorePersistenceAdapter.d.ts.map +1 -0
  20. package/dist/orchestration/StorePersistenceAdapter.js +2 -0
  21. package/dist/orchestration/StorePersistenceAdapter.js.map +1 -0
  22. package/dist/orchestration/persistenceMappings.d.ts +16 -0
  23. package/dist/orchestration/persistenceMappings.d.ts.map +1 -0
  24. package/dist/orchestration/persistenceMappings.js +23 -0
  25. package/dist/orchestration/persistenceMappings.js.map +1 -0
  26. package/dist/services/AuthorizationService.d.ts +16 -0
  27. package/dist/services/AuthorizationService.d.ts.map +1 -0
  28. package/dist/services/AuthorizationService.js +2 -0
  29. package/dist/services/AuthorizationService.js.map +1 -0
  30. package/dist/services/BackendsService.d.ts +7 -0
  31. package/dist/services/BackendsService.d.ts.map +1 -0
  32. package/dist/services/BackendsService.js +2 -0
  33. package/dist/services/BackendsService.js.map +1 -0
  34. package/dist/services/ContentService.d.ts +11 -0
  35. package/dist/services/ContentService.d.ts.map +1 -0
  36. package/dist/services/ContentService.js +2 -0
  37. package/dist/services/ContentService.js.map +1 -0
  38. package/dist/services/DiagnosticsService.d.ts +5 -0
  39. package/dist/services/DiagnosticsService.d.ts.map +1 -0
  40. package/dist/services/DiagnosticsService.js +2 -0
  41. package/dist/services/DiagnosticsService.js.map +1 -0
  42. package/dist/services/RevisionsService.d.ts +7 -0
  43. package/dist/services/RevisionsService.d.ts.map +1 -0
  44. package/dist/services/RevisionsService.js +2 -0
  45. package/dist/services/RevisionsService.js.map +1 -0
  46. package/dist/services/StoreKeysService.d.ts +8 -0
  47. package/dist/services/StoreKeysService.d.ts.map +1 -0
  48. package/dist/services/StoreKeysService.js +2 -0
  49. package/dist/services/StoreKeysService.js.map +1 -0
  50. package/dist/services/StoresService.d.ts +10 -0
  51. package/dist/services/StoresService.d.ts.map +1 -0
  52. package/dist/services/StoresService.js +2 -0
  53. package/dist/services/StoresService.js.map +1 -0
  54. package/dist/services/SyncService.d.ts +8 -0
  55. package/dist/services/SyncService.d.ts.map +1 -0
  56. package/dist/services/SyncService.js +2 -0
  57. package/dist/services/SyncService.js.map +1 -0
  58. package/dist/types/auth.d.ts +12 -0
  59. package/dist/types/auth.d.ts.map +1 -0
  60. package/dist/types/auth.js +2 -0
  61. package/dist/types/auth.js.map +1 -0
  62. package/dist/types/backends.d.ts +30 -0
  63. package/dist/types/backends.d.ts.map +1 -0
  64. package/dist/types/backends.js +2 -0
  65. package/dist/types/backends.js.map +1 -0
  66. package/dist/types/common.d.ts +11 -0
  67. package/dist/types/common.d.ts.map +1 -0
  68. package/dist/types/common.js +2 -0
  69. package/dist/types/common.js.map +1 -0
  70. package/dist/types/content.d.ts +71 -0
  71. package/dist/types/content.d.ts.map +1 -0
  72. package/dist/types/content.js +2 -0
  73. package/dist/types/content.js.map +1 -0
  74. package/dist/types/diagnostics.d.ts +11 -0
  75. package/dist/types/diagnostics.d.ts.map +1 -0
  76. package/dist/types/diagnostics.js +2 -0
  77. package/dist/types/diagnostics.js.map +1 -0
  78. package/dist/types/index.d.ts +10 -0
  79. package/dist/types/index.d.ts.map +1 -0
  80. package/dist/types/index.js +10 -0
  81. package/dist/types/index.js.map +1 -0
  82. package/dist/types/keys.d.ts +47 -0
  83. package/dist/types/keys.d.ts.map +1 -0
  84. package/dist/types/keys.js +2 -0
  85. package/dist/types/keys.js.map +1 -0
  86. package/dist/types/revisions.d.ts +40 -0
  87. package/dist/types/revisions.d.ts.map +1 -0
  88. package/dist/types/revisions.js +2 -0
  89. package/dist/types/revisions.js.map +1 -0
  90. package/dist/types/store.d.ts +91 -0
  91. package/dist/types/store.d.ts.map +1 -0
  92. package/dist/types/store.js +2 -0
  93. package/dist/types/store.js.map +1 -0
  94. package/dist/types/sync.d.ts +56 -0
  95. package/dist/types/sync.d.ts.map +1 -0
  96. package/dist/types/sync.js +2 -0
  97. package/dist/types/sync.js.map +1 -0
  98. package/dist/utils/formats.d.ts +19 -0
  99. package/dist/utils/formats.d.ts.map +1 -0
  100. package/dist/utils/formats.js +32 -0
  101. package/dist/utils/formats.js.map +1 -0
  102. package/dist/utils/keys.d.ts +9 -0
  103. package/dist/utils/keys.d.ts.map +1 -0
  104. package/dist/utils/keys.js +15 -0
  105. package/dist/utils/keys.js.map +1 -0
  106. package/dist/utils/selectors.d.ts +27 -0
  107. package/dist/utils/selectors.d.ts.map +1 -0
  108. package/dist/utils/selectors.js +35 -0
  109. package/dist/utils/selectors.js.map +1 -0
  110. package/package.json +38 -0
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Key normalization: path-like key philosophy.
3
+ * - trim
4
+ * - convert \ to /
5
+ * - collapse duplicate /
6
+ * - strip leading /
7
+ */
8
+ export declare function normalizeKey(key: string): string;
9
+ //# sourceMappingURL=keys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.d.ts","sourceRoot":"","sources":["../../src/utils/keys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAMhD"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Key normalization: path-like key philosophy.
3
+ * - trim
4
+ * - convert \ to /
5
+ * - collapse duplicate /
6
+ * - strip leading /
7
+ */
8
+ export function normalizeKey(key) {
9
+ return key
10
+ .trim()
11
+ .replace(/\\/g, '/')
12
+ .replace(/\/+/g, '/')
13
+ .replace(/^\//, '');
14
+ }
15
+ //# sourceMappingURL=keys.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keys.js","sourceRoot":"","sources":["../../src/utils/keys.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,OAAO,GAAG;SACP,IAAI,EAAE;SACN,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;AACxB,CAAC"}
@@ -0,0 +1,27 @@
1
+ import type { ContentSelector } from '../types/content.js';
2
+ import type { StoreRecord } from '../types/store.js';
3
+ import { normalizeFormat, type ContentFormat } from './formats.js';
4
+ /**
5
+ * Apply store defaultNamespace when selector has no namespace.
6
+ */
7
+ export declare function resolveNamespace(selector: Pick<ContentSelector, 'namespace'>, store: Pick<StoreRecord, 'defaultNamespace'>): string;
8
+ /**
9
+ * Normalize selector key (path normalization) and optional format.
10
+ * Returns normalized key and explicit format if parsed from extension.
11
+ */
12
+ export declare function normalizeSelectorKey(key: string): {
13
+ key: string;
14
+ format?: ContentFormat;
15
+ };
16
+ /**
17
+ * Build a fully resolved selector (namespace + key + variant).
18
+ */
19
+ export declare function resolveSelector(selector: ContentSelector, store: StoreRecord): {
20
+ storeId: string;
21
+ namespace: string;
22
+ key: string;
23
+ variant: string | null;
24
+ format?: ContentFormat;
25
+ };
26
+ export { normalizeFormat };
27
+ //# sourceMappingURL=selectors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.d.ts","sourceRoot":"","sources":["../../src/utils/selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,EAAqB,eAAe,EAAE,KAAK,aAAa,EAAE,MAAM,cAAc,CAAC;AAEtF;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,IAAI,CAAC,eAAe,EAAE,WAAW,CAAC,EAC5C,KAAK,EAAE,IAAI,CAAC,WAAW,EAAE,kBAAkB,CAAC,GAC3C,MAAM,CAKR;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAGzF;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,WAAW,GACjB;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,CAAC,EAAE,aAAa,CAAA;CAAE,CAUrG;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { normalizeKey } from './keys.js';
2
+ import { parseKeyAndFormat, normalizeFormat } from './formats.js';
3
+ /**
4
+ * Apply store defaultNamespace when selector has no namespace.
5
+ */
6
+ export function resolveNamespace(selector, store) {
7
+ if (selector.namespace != null && selector.namespace !== '') {
8
+ return selector.namespace;
9
+ }
10
+ return store.defaultNamespace;
11
+ }
12
+ /**
13
+ * Normalize selector key (path normalization) and optional format.
14
+ * Returns normalized key and explicit format if parsed from extension.
15
+ */
16
+ export function normalizeSelectorKey(key) {
17
+ const normalized = normalizeKey(key);
18
+ return parseKeyAndFormat(normalized);
19
+ }
20
+ /**
21
+ * Build a fully resolved selector (namespace + key + variant).
22
+ */
23
+ export function resolveSelector(selector, store) {
24
+ const namespace = resolveNamespace(selector, store);
25
+ const { key, format } = normalizeSelectorKey(selector.key);
26
+ return {
27
+ storeId: selector.storeId,
28
+ namespace,
29
+ key,
30
+ variant: selector.variant ?? null,
31
+ format,
32
+ };
33
+ }
34
+ export { normalizeFormat };
35
+ //# sourceMappingURL=selectors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/utils/selectors.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAsB,MAAM,cAAc,CAAC;AAEtF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAA4C,EAC5C,KAA4C;IAE5C,IAAI,QAAQ,CAAC,SAAS,IAAI,IAAI,IAAI,QAAQ,CAAC,SAAS,KAAK,EAAE,EAAE,CAAC;QAC5D,OAAO,QAAQ,CAAC,SAAS,CAAC;IAC5B,CAAC;IACD,OAAO,KAAK,CAAC,gBAAgB,CAAC;AAChC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,GAAW;IAC9C,MAAM,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,iBAAiB,CAAC,UAAU,CAAC,CAAC;AACvC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAC7B,QAAyB,EACzB,KAAkB;IAElB,MAAM,SAAS,GAAG,gBAAgB,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IACpD,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;IAC3D,OAAO;QACL,OAAO,EAAE,QAAQ,CAAC,OAAO;QACzB,SAAS;QACT,GAAG;QACH,OAAO,EAAE,QAAQ,CAAC,OAAO,IAAI,IAAI;QACjC,MAAM;KACP,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,eAAe,EAAE,CAAC"}
package/package.json ADDED
@@ -0,0 +1,38 @@
1
+ {
2
+ "name": "nx-content-store",
3
+ "version": "0.1.0",
4
+ "description": "Managed shared-store platform for content: stores, keys, content CRUD, revisions, backends, sync.",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js",
12
+ "default": "./dist/index.js"
13
+ }
14
+ },
15
+ "files": [
16
+ "dist"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ },
21
+ "scripts": {
22
+ "build": "tsc",
23
+ "clean": "node -e \"require('fs').rmSync('dist',{recursive:true,force:true})\""
24
+ },
25
+ "keywords": [
26
+ "content-store",
27
+ "managed-store",
28
+ "revisions",
29
+ "sync"
30
+ ],
31
+ "license": "UNLICENSED",
32
+ "engines": {
33
+ "node": ">=18"
34
+ },
35
+ "devDependencies": {
36
+ "typescript": "~5.6.0"
37
+ }
38
+ }