@milaboratories/pl-model-common 1.14.1 → 1.15.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.
@@ -5,6 +5,10 @@ import { ResultPoolEntry } from './entry';
5
5
  export interface PObjectSpec {
6
6
  /** PObject kind discriminator */
7
7
  readonly kind: string;
8
+ /** Name is common part of PObject identity */
9
+ readonly name: string;
10
+ /** Domain is a set of key-value pairs that can be used to identify the object */
11
+ readonly domain?: Record<string, string>;
8
12
  /** Additional information attached to the object */
9
13
  readonly annotations?: Record<string, string>;
10
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/pool/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,4FAA4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,wBAAwB;AACxB,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAErD;;;;KAIK;AACL,MAAM,WAAW,OAAO,CAAC,IAAI;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAEvB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,WAAW,CAEpE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAE/D;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,GAC9B,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,CAEnC;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC7B,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAElC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAG5D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1F,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EACnC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,EAC7B,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAChB,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAC3B,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1F,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EACnC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,EAC7B,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAChB,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAa3B,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CA0B/E"}
1
+ {"version":3,"file":"spec.d.ts","sourceRoot":"","sources":["../../src/pool/spec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAElE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,4FAA4F;AAC5F,MAAM,WAAW,WAAW;IAC1B,iCAAiC;IACjC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,8CAA8C;IAC9C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAEtB,iFAAiF;IACjF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAEzC,oDAAoD;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC/C;AAED,wBAAwB;AACxB,MAAM,MAAM,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;AAErD;;;;KAIK;AACL,MAAM,WAAW,OAAO,CAAC,IAAI;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IAEvB,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAE3B,8BAA8B;IAC9B,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;CACrB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,IAAI,IAAI,WAAW,CAEpE;AAED,wBAAgB,SAAS,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,OAAO,CAAC,CAAC,CAAC,CAE/D;AAED,wBAAgB,mBAAmB,CACjC,CAAC,EAAE,eAAe,CAAC,WAAW,CAAC,GAC9B,CAAC,IAAI,eAAe,CAAC,WAAW,CAAC,CAEnC;AAED,wBAAgB,eAAe,CAAC,CAAC,EAC/B,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAC7B,CAAC,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAElC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAG5D;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1F,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EACnC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,EAC7B,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAChB,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAC3B,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC1F,wBAAgB,cAAc,CAAC,EAAE,EAAE,EAAE,EACnC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,EAC7B,EAAE,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,GAChB,OAAO,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC;AAa3B,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CA0B/E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@milaboratories/pl-model-common",
3
- "version": "1.14.1",
3
+ "version": "1.15.0",
4
4
  "description": "Platforma SDK Model",
5
5
  "types": "./dist/index.d.ts",
6
6
  "main": "./dist/index.js",
@@ -26,8 +26,8 @@
26
26
  "typescript": "~5.5.4",
27
27
  "vite": "^5.4.11",
28
28
  "vitest": "^2.1.8",
29
- "@milaboratories/platforma-build-configs": "1.0.3",
30
- "@platforma-sdk/eslint-config": "1.0.3"
29
+ "@platforma-sdk/eslint-config": "1.0.3",
30
+ "@milaboratories/platforma-build-configs": "1.0.3"
31
31
  },
32
32
  "scripts": {
33
33
  "type-check": "tsc --noEmit --composite false",
@@ -3,3 +3,4 @@ export * from './ids';
3
3
  export * from './filtered_column';
4
4
  export * from './spec';
5
5
  export * from './selectors';
6
+ export * from './native_id';
@@ -0,0 +1,17 @@
1
+ import type { Branded } from '../../../branding';
2
+ import { isPColumnSpec, type PObjectSpec } from '../../../pool';
3
+ import { getAxesId } from './spec';
4
+ import canonicalize from 'canonicalize';
5
+ export type NativePObjectId = Branded<string, 'NativePObjectId'>;
6
+
7
+ export function deriveNativeId(spec: PObjectSpec): NativePObjectId {
8
+ const result: Record<string, unknown> = {
9
+ kind: spec.kind,
10
+ name: spec.name,
11
+ };
12
+ if (spec.domain !== undefined)
13
+ result.domain = spec.domain;
14
+ if (isPColumnSpec(spec))
15
+ result.axesSpec = getAxesId(spec.axesSpec);
16
+ return canonicalize(result) as NativePObjectId;
17
+ }
package/src/pool/spec.ts CHANGED
@@ -8,6 +8,12 @@ export interface PObjectSpec {
8
8
  /** PObject kind discriminator */
9
9
  readonly kind: string;
10
10
 
11
+ /** Name is common part of PObject identity */
12
+ readonly name: string;
13
+
14
+ /** Domain is a set of key-value pairs that can be used to identify the object */
15
+ readonly domain?: Record<string, string>;
16
+
11
17
  /** Additional information attached to the object */
12
18
  readonly annotations?: Record<string, string>;
13
19
  }