@ember-data/tracking 5.4.0-alpha.15 → 5.4.0-alpha.151

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.
Binary file
Binary file
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 32">
2
+ <path fill="#110819"
3
+ d="M321.58 29.54a41.7 41.7 0 0 1-7.26 1.72c-2.4.36-4.87.53-7.4.53-3.21 0-6.09-.34-8.6-1.03a18.5 18.5 0 0 1-6.34-3.03 13.07 13.07 0 0 1-3.94-4.83c-.9-1.9-1.35-4.06-1.35-6.47a14.32 14.32 0 0 1 5.22-11.19 18.14 18.14 0 0 1 6.06-3.3c2.36-.81 5-1.21 7.9-1.21 2.68 0 5.13.36 7.35 1.1 2.24.71 4.15 1.78 5.74 3.2a14.28 14.28 0 0 1 3.72 5.24 18.12 18.12 0 0 1 1.33 7.17v1.98h-29.1a7.5 7.5 0 0 0 1.28 2.56c.6.77 1.4 1.43 2.42 1.97 1.02.55 2.27.97 3.74 1.27 1.5.3 3.27.45 5.33.45a35.35 35.35 0 0 0 8.23-.96c1.22-.3 2.31-.64 3.29-1 .99-.35 1.78-.7 2.38-1.07v6.9Zm-5.5-15.96a6.73 6.73 0 0 0-.66-2.26 5.82 5.82 0 0 0-1.72-2.13 9.46 9.46 0 0 0-3.1-1.54 15.6 15.6 0 0 0-4.77-.63c-1.79 0-3.33.23-4.64.67-1.3.44-2.4 1-3.29 1.65a8.37 8.37 0 0 0-2.04 2.13c-.48.76-.8 1.46-.94 2.1h21.16ZM271.84 31h-9.28L247.63 1.48h8.9l10.74 22.22 10.72-22.22h8.9L271.83 31ZM234.8 31V1.48h7.97V31h-7.97ZM229.73 8.16l-.94-.28c-.4-.13-.88-.25-1.42-.36a17.88 17.88 0 0 0-3.8-.45c-1.44 0-2.78.18-4.02.53-1.23.35-2.39.81-3.46 1.4a19.48 19.48 0 0 0-3 1.98c-.92.73-1.77 1.48-2.54 2.25V31h-7.97V1.48h7.97v4.8c.96-.72 1.94-1.41 2.94-2.07a25.36 25.36 0 0 1 3.16-1.78 18.9 18.9 0 0 1 3.48-1.23 15.39 15.39 0 0 1 5.44-.39 25 25 0 0 1 4.16.67v6.68ZM197.05 16.22c0 1.89-.2 3.57-.62 5.05a12.7 12.7 0 0 1-1.76 3.82 11.07 11.07 0 0 1-2.7 2.77 13.77 13.77 0 0 1-3.51 1.83c-1.29.46-2.68.8-4.17 1-1.49.21-3.04.31-4.66.31H160.9V1.48h18.69c1.62 0 3.17.1 4.66.32 1.49.2 2.88.53 4.17 1 1.3.45 2.48 1.06 3.54 1.82 1.06.74 1.96 1.67 2.7 2.77a12.7 12.7 0 0 1 1.77 3.82c.42 1.46.62 3.13.62 5Zm-8.03 0c0-1.42-.19-2.65-.56-3.7a5.64 5.64 0 0 0-1.76-2.57 7.66 7.66 0 0 0-3.16-1.53c-1.3-.34-2.9-.52-4.77-.52h-9.9v16.68h9.9c1.88 0 3.47-.17 4.77-.5a7.86 7.86 0 0 0 3.16-1.54c.81-.7 1.4-1.58 1.76-2.63.37-1.04.56-2.27.56-3.7ZM153.98 10.55c0 1.47-.25 2.78-.73 3.9a6.82 6.82 0 0 1-2.26 2.86 10.95 10.95 0 0 1-4 1.77 25.6 25.6 0 0 1-5.86.58h-13.26V31h-2.68V1.48h15.94c2.3 0 4.25.2 5.87.6 1.63.39 2.96.96 4 1.72a6.67 6.67 0 0 1 2.25 2.84c.48 1.13.73 2.43.73 3.9Zm-2.77 0c0-1.4-.24-2.54-.71-3.4a4.53 4.53 0 0 0-2.15-1.97c-.96-.48-2.19-.8-3.68-.95a50.43 50.43 0 0 0-5.26-.24h-11.54v13.15h11.54l2.51.02c.9 0 1.8-.04 2.67-.12.87-.1 1.7-.27 2.5-.5.8-.24 1.5-.6 2.1-1.1a5.05 5.05 0 0 0 1.46-1.9 7 7 0 0 0 .56-3ZM119.76 3.76c-.41-.13-1-.27-1.74-.41-.73-.16-1.67-.24-2.83-.24-1.6 0-3.12.2-4.54.6a17.94 17.94 0 0 0-7.28 3.96 23.73 23.73 0 0 0-2.8 2.83V31H97.9V1.48h2.69V7.5c.96-1 2-1.9 3.11-2.73a21.54 21.54 0 0 1 7.48-3.53 17.47 17.47 0 0 1 5.6-.47c.4.02.77.04 1.1.09a16.6 16.6 0 0 1 1.9.26v2.64ZM85.52 31v-3.27c-1.03.56-2.2 1.08-3.53 1.55a40.4 40.4 0 0 1-13.13 2.3c-1.91 0-3.64-.17-5.17-.52a12.2 12.2 0 0 1-3.87-1.52A7.38 7.38 0 0 1 57.37 27a7.06 7.06 0 0 1-.86-3.52c0-1.32.33-2.48 1-3.48a8.81 8.81 0 0 1 2.85-2.64c1.23-.76 2.71-1.4 4.45-1.91 1.74-.53 3.7-.98 5.84-1.34 2.15-.37 4.47-.67 6.96-.9 2.5-.24 5.14-.44 7.9-.6v-2.26c0-.91-.16-1.72-.5-2.42a5.54 5.54 0 0 0-1.45-1.83 7.97 7.97 0 0 0-2.17-1.31c-.83-.36-1.73-.65-2.7-.86a33.97 33.97 0 0 0-13.54.21c-1.03.25-2.02.53-2.96.86-.95.33-1.9.68-2.86 1.06V2.92c1.99-.53 4.1-.99 6.36-1.38 2.26-.4 4.66-.6 7.2-.6 2.14 0 4.15.19 6.01.56 1.86.36 3.48.94 4.86 1.74A9.16 9.16 0 0 1 87 6.36a8.55 8.55 0 0 1 1.18 4.62V31h-2.66Zm0-16c-4.69.25-8.69.62-12.01 1.09-3.31.47-6.02 1.05-8.12 1.74-2.1.69-3.66 1.49-4.64 2.4a4.18 4.18 0 0 0-1.46 3.12c0 .95.23 1.78.7 2.52a5.86 5.86 0 0 0 2.09 1.84c.9.49 2 .86 3.29 1.12 1.28.24 2.73.37 4.34.37a29.36 29.36 0 0 0 5.95-.6 36.6 36.6 0 0 0 5.71-1.57c.86-.32 1.64-.66 2.34-1.01a11.3 11.3 0 0 0 1.8-1.1v-9.93ZM28.65 1.48l10.53 27.37L50.09 1.48h2.99L41.2 31h-4L26.84 4.34 16.51 31h-4L.63 1.48h2.99l10.91 27.37 10.5-27.37h3.62Z" />
4
+ </svg>
@@ -0,0 +1,4 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 324 32">
2
+ <path fill="#FFC474"
3
+ d="M321.58 29.54a41.7 41.7 0 0 1-7.26 1.72c-2.4.36-4.87.53-7.4.53-3.21 0-6.09-.34-8.6-1.03a18.5 18.5 0 0 1-6.34-3.03 13.07 13.07 0 0 1-3.94-4.83c-.9-1.9-1.35-4.06-1.35-6.47a14.32 14.32 0 0 1 5.22-11.19 18.14 18.14 0 0 1 6.06-3.3c2.36-.81 5-1.21 7.9-1.21 2.68 0 5.13.36 7.35 1.1 2.24.71 4.15 1.78 5.74 3.2a14.28 14.28 0 0 1 3.72 5.24 18.12 18.12 0 0 1 1.33 7.17v1.98h-29.1a7.5 7.5 0 0 0 1.28 2.56c.6.77 1.4 1.43 2.42 1.97 1.02.55 2.27.97 3.74 1.27 1.5.3 3.27.45 5.33.45a35.35 35.35 0 0 0 8.23-.96c1.22-.3 2.31-.64 3.29-1 .99-.35 1.78-.7 2.38-1.07v6.9Zm-5.5-15.96a6.73 6.73 0 0 0-.66-2.26 5.82 5.82 0 0 0-1.72-2.13 9.46 9.46 0 0 0-3.1-1.54 15.6 15.6 0 0 0-4.77-.63c-1.79 0-3.33.23-4.64.67-1.3.44-2.4 1-3.29 1.65a8.37 8.37 0 0 0-2.04 2.13c-.48.76-.8 1.46-.94 2.1h21.16ZM271.84 31h-9.28L247.63 1.48h8.9l10.74 22.22 10.72-22.22h8.9L271.83 31ZM234.8 31V1.48h7.97V31h-7.97ZM229.73 8.16l-.94-.28c-.4-.13-.88-.25-1.42-.36a17.88 17.88 0 0 0-3.8-.45c-1.44 0-2.78.18-4.02.53-1.23.35-2.39.81-3.46 1.4a19.48 19.48 0 0 0-3 1.98c-.92.73-1.77 1.48-2.54 2.25V31h-7.97V1.48h7.97v4.8c.96-.72 1.94-1.41 2.94-2.07a25.36 25.36 0 0 1 3.16-1.78 18.9 18.9 0 0 1 3.48-1.23 15.39 15.39 0 0 1 5.44-.39 25 25 0 0 1 4.16.67v6.68ZM197.05 16.22c0 1.89-.2 3.57-.62 5.05a12.7 12.7 0 0 1-1.76 3.82 11.07 11.07 0 0 1-2.7 2.77 13.77 13.77 0 0 1-3.51 1.83c-1.29.46-2.68.8-4.17 1-1.49.21-3.04.31-4.66.31H160.9V1.48h18.69c1.62 0 3.17.1 4.66.32 1.49.2 2.88.53 4.17 1 1.3.45 2.48 1.06 3.54 1.82 1.06.74 1.96 1.67 2.7 2.77a12.7 12.7 0 0 1 1.77 3.82c.42 1.46.62 3.13.62 5Zm-8.03 0c0-1.42-.19-2.65-.56-3.7a5.64 5.64 0 0 0-1.76-2.57 7.66 7.66 0 0 0-3.16-1.53c-1.3-.34-2.9-.52-4.77-.52h-9.9v16.68h9.9c1.88 0 3.47-.17 4.77-.5a7.86 7.86 0 0 0 3.16-1.54c.81-.7 1.4-1.58 1.76-2.63.37-1.04.56-2.27.56-3.7ZM153.98 10.55c0 1.47-.25 2.78-.73 3.9a6.82 6.82 0 0 1-2.26 2.86 10.95 10.95 0 0 1-4 1.77 25.6 25.6 0 0 1-5.86.58h-13.26V31h-2.68V1.48h15.94c2.3 0 4.25.2 5.87.6 1.63.39 2.96.96 4 1.72a6.67 6.67 0 0 1 2.25 2.84c.48 1.13.73 2.43.73 3.9Zm-2.77 0c0-1.4-.24-2.54-.71-3.4a4.53 4.53 0 0 0-2.15-1.97c-.96-.48-2.19-.8-3.68-.95a50.43 50.43 0 0 0-5.26-.24h-11.54v13.15h11.54l2.51.02c.9 0 1.8-.04 2.67-.12.87-.1 1.7-.27 2.5-.5.8-.24 1.5-.6 2.1-1.1a5.05 5.05 0 0 0 1.46-1.9 7 7 0 0 0 .56-3ZM119.76 3.76c-.41-.13-1-.27-1.74-.41-.73-.16-1.67-.24-2.83-.24-1.6 0-3.12.2-4.54.6a17.94 17.94 0 0 0-7.28 3.96 23.73 23.73 0 0 0-2.8 2.83V31H97.9V1.48h2.69V7.5c.96-1 2-1.9 3.11-2.73a21.54 21.54 0 0 1 7.48-3.53 17.47 17.47 0 0 1 5.6-.47c.4.02.77.04 1.1.09a16.6 16.6 0 0 1 1.9.26v2.64ZM85.52 31v-3.27c-1.03.56-2.2 1.08-3.53 1.55a40.4 40.4 0 0 1-13.13 2.3c-1.91 0-3.64-.17-5.17-.52a12.2 12.2 0 0 1-3.87-1.52A7.38 7.38 0 0 1 57.37 27a7.06 7.06 0 0 1-.86-3.52c0-1.32.33-2.48 1-3.48a8.81 8.81 0 0 1 2.85-2.64c1.23-.76 2.71-1.4 4.45-1.91 1.74-.53 3.7-.98 5.84-1.34 2.15-.37 4.47-.67 6.96-.9 2.5-.24 5.14-.44 7.9-.6v-2.26c0-.91-.16-1.72-.5-2.42a5.54 5.54 0 0 0-1.45-1.83 7.97 7.97 0 0 0-2.17-1.31c-.83-.36-1.73-.65-2.7-.86a33.97 33.97 0 0 0-13.54.21c-1.03.25-2.02.53-2.96.86-.95.33-1.9.68-2.86 1.06V2.92c1.99-.53 4.1-.99 6.36-1.38 2.26-.4 4.66-.6 7.2-.6 2.14 0 4.15.19 6.01.56 1.86.36 3.48.94 4.86 1.74A9.16 9.16 0 0 1 87 6.36a8.55 8.55 0 0 1 1.18 4.62V31h-2.66Zm0-16c-4.69.25-8.69.62-12.01 1.09-3.31.47-6.02 1.05-8.12 1.74-2.1.69-3.66 1.49-4.64 2.4a4.18 4.18 0 0 0-1.46 3.12c0 .95.23 1.78.7 2.52a5.86 5.86 0 0 0 2.09 1.84c.9.49 2 .86 3.29 1.12 1.28.24 2.73.37 4.34.37a29.36 29.36 0 0 0 5.95-.6 36.6 36.6 0 0 0 5.71-1.57c.86-.32 1.64-.66 2.34-1.01a11.3 11.3 0 0 0 1.8-1.1v-9.93ZM28.65 1.48l10.53 27.37L50.09 1.48h2.99L41.2 31h-4L26.84 4.34 16.51 31h-4L.63 1.48h2.99l10.91 27.37 10.5-27.37h3.62Z" />
4
+ </svg>
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@ember-data/tracking",
3
3
  "description": "Tracking Primitives for controlling change notification of Tracked properties when working with EmberData",
4
- "version": "5.4.0-alpha.15",
4
+ "version": "5.4.0-alpha.151",
5
5
  "private": false,
6
6
  "license": "MIT",
7
7
  "author": "Chris Thoburn <runspired@users.noreply.github.com>",
@@ -13,7 +13,7 @@
13
13
  "homepage": "https://github.com/emberjs/data",
14
14
  "bugs": "https://github.com/emberjs/data/issues",
15
15
  "engines": {
16
- "node": "16.* || >= 18"
16
+ "node": ">= 18.20.7"
17
17
  },
18
18
  "keywords": [
19
19
  "ember-addon"
@@ -21,53 +21,70 @@
21
21
  "volta": {
22
22
  "extends": "../../package.json"
23
23
  },
24
- "dependenciesMeta": {
25
- "@ember-data/private-build-infra": {
26
- "injected": true
27
- }
28
- },
29
24
  "dependencies": {
30
- "@ember-data/private-build-infra": "5.4.0-alpha.15",
31
- "@embroider/macros": "^1.13.1",
32
- "ember-cli-babel": "^8.0.0"
25
+ "@embroider/macros": "^1.16.11",
26
+ "@warp-drive/build-config": "5.4.0-alpha.151"
27
+ },
28
+ "peerDependencies": {
29
+ "ember-source": "3.28.12 || ^4.0.4 || ^5.0.0 || ^6.0.0",
30
+ "@warp-drive/core-types": "5.4.0-alpha.151"
33
31
  },
34
32
  "files": [
35
- "addon-main.js",
36
- "addon",
33
+ "unstable-preview-types",
34
+ "addon-main.cjs",
35
+ "dist",
37
36
  "README.md",
38
37
  "LICENSE.md",
39
- "ember-data-logo-dark.svg",
40
- "ember-data-logo-light.svg"
38
+ "logos"
41
39
  ],
40
+ "exports": {
41
+ ".": {
42
+ "default": "./dist/index.js"
43
+ },
44
+ "./*": {
45
+ "default": "./dist/*.js"
46
+ },
47
+ "./unstable-preview-types": {
48
+ "types": "./unstable-preview-types/index.d.ts"
49
+ }
50
+ },
42
51
  "ember-addon": {
43
- "main": "addon-main.js",
52
+ "main": "addon-main.cjs",
44
53
  "type": "addon",
45
- "version": 1
54
+ "version": 2,
55
+ "externals": [
56
+ "@ember/-internals",
57
+ "@ember/-internals/metal",
58
+ "@glimmer/validator"
59
+ ]
46
60
  },
47
61
  "devDependencies": {
48
- "@babel/cli": "^7.22.15",
49
- "@babel/core": "^7.22.17",
50
- "@babel/plugin-proposal-decorators": "^7.22.15",
51
- "@babel/plugin-transform-class-properties": "^7.22.5",
52
- "@babel/plugin-transform-private-methods": "^7.22.5",
53
- "@babel/plugin-transform-runtime": "^7.22.15",
54
- "@babel/plugin-transform-typescript": "^7.22.15",
55
- "@babel/preset-env": "^7.22.15",
56
- "@babel/preset-typescript": "^7.22.15",
57
- "@babel/runtime": "^7.22.15",
58
- "@embroider/addon-dev": "^4.1.0",
59
- "@rollup/plugin-babel": "^6.0.3",
60
- "@rollup/plugin-node-resolve": "^15.2.1",
61
- "rollup": "^3.29.1",
62
- "tslib": "^2.6.2",
63
- "typescript": "^5.2.2",
64
- "walk-sync": "^3.0.0"
62
+ "@babel/core": "^7.26.9",
63
+ "@babel/plugin-transform-typescript": "^7.26.8",
64
+ "@babel/preset-env": "^7.26.9",
65
+ "@babel/preset-typescript": "^7.26.0",
66
+ "@glimmer/component": "^1.1.2",
67
+ "@glimmer/validator": "^0.94.6",
68
+ "@warp-drive/core-types": "5.4.0-alpha.151",
69
+ "@warp-drive/internal-config": "5.4.0-alpha.151",
70
+ "ember-source": "~5.12.0",
71
+ "typescript": "^5.8.2",
72
+ "vite": "^5.4.14"
65
73
  },
66
74
  "ember": {
67
75
  "edition": "octane"
68
76
  },
77
+ "typesVersions": {
78
+ "*": {
79
+ "unstable-preview-types": [
80
+ "./unstable-preview-types"
81
+ ]
82
+ }
83
+ },
69
84
  "scripts": {
70
- "build": "rollup --config && babel ./addon --out-dir addon --plugins=../private-build-infra/src/transforms/babel-plugin-transform-ext.js",
71
- "start": "rollup --config --watch"
85
+ "lint": "eslint . --quiet --cache --cache-strategy=content",
86
+ "build:pkg": "vite build;",
87
+ "sync": "echo \"syncing\"",
88
+ "start": "vite"
72
89
  }
73
90
  }
@@ -0,0 +1,186 @@
1
+ declare module '@ember-data/tracking/-private' {
2
+ import { tagForProperty } from '@ember/-internals/metal';
3
+ /**
4
+ * This package provides primitives that allow powerful low-level
5
+ * adjustments to change tracking notification behaviors.
6
+ *
7
+ * Typically you want to use these primitives when you want to divorce
8
+ * property accesses on EmberData provided objects from the current
9
+ * tracking context. Typically this sort of thing occurs when serializing
10
+ * tracked data to send in a request: the data itself is often ancillary
11
+ * to the thing which triggered the request in the first place and you
12
+ * would not want to re-trigger the request for any update to the data.
13
+ *
14
+ * @module @ember-data/tracking
15
+ * @main @ember-data/tracking
16
+ */
17
+ type OpaqueFn = (...args: unknown[]) => unknown;
18
+ type Tag = {
19
+ ref: null;
20
+ t: boolean;
21
+ };
22
+ /**
23
+ * If there is a current transaction, ensures that the relevant tag (and any
24
+ * array computed chains symbols, if applicable) will be consumed during the
25
+ * transaction.
26
+ *
27
+ * If there is no current transaction, will consume the tag(s) immediately.
28
+ *
29
+ * @internal
30
+ * @param obj
31
+ */
32
+ export function subscribe(obj: Tag | Signal): void;
33
+ export function addToTransaction(obj: Tag | Signal): void;
34
+ export function addTransactionCB(method: OpaqueFn): void;
35
+ /**
36
+ * Run `method` without subscribing to any tracked properties
37
+ * controlled by EmberData.
38
+ *
39
+ * This should rarely be used except by libraries that really
40
+ * know what they are doing. It is most useful for wrapping
41
+ * certain kinds of fetch/query logic from within a `Resource`
42
+ * `hook` or other similar pattern.
43
+ *
44
+ * @function untracked
45
+ * @public
46
+ * @static
47
+ * @for @ember-data/tracking
48
+ * @param method
49
+ * @return result of invoking method
50
+ */
51
+ export function untracked<T extends OpaqueFn>(method: T): ReturnType<T>;
52
+ /**
53
+ * Run the method, subscribing to any tracked properties
54
+ * managed by EmberData that were accessed or written during
55
+ * the method's execution as per-normal but while allowing
56
+ * interleaving of reads and writes.
57
+ *
58
+ * This is useful when for instance you want to perform
59
+ * a mutation based on existing state that must be read first.
60
+ *
61
+ * @function transact
62
+ * @public
63
+ * @static
64
+ * @for @ember-data/tracking
65
+ * @param method
66
+ * @return result of invoking method
67
+ */
68
+ export function transact<T extends OpaqueFn>(method: T): ReturnType<T>;
69
+ /**
70
+ * A helpful utility for creating a new function that
71
+ * always runs in a transaction. E.G. this "memoizes"
72
+ * calling `transact(fn)`, currying args as necessary.
73
+ *
74
+ * @method memoTransact
75
+ * @public
76
+ * @static
77
+ * @for @ember-data/tracking
78
+ * @param method
79
+ * @return a function that will invoke method in a transaction with any provided args and return its result
80
+ */
81
+ export function memoTransact<T extends OpaqueFn>(method: T): (...args: unknown[]) => ReturnType<T>;
82
+ export const Signals: "___(unique) Symbol(Signals)";
83
+ /**
84
+ * use to add a signal property to the prototype of something.
85
+ *
86
+ * First arg is the thing to define on
87
+ * Second arg is the property name
88
+ * Third agg is the initial value of the property if any.
89
+ *
90
+ * for instance
91
+ *
92
+ * ```ts
93
+ * class Model {}
94
+ * defineSignal(Model.prototype, 'isLoading', false);
95
+ * ```
96
+ *
97
+ * This is sort of like using a stage-3 decorator but works today
98
+ * while we are still on legacy decorators.
99
+ *
100
+ * e.g. it is equivalent to
101
+ *
102
+ * ```ts
103
+ * class Model {
104
+ * @signal accessor isLoading = false;
105
+ * }
106
+ * ```
107
+ *
108
+ * @internal
109
+ */
110
+ export function defineSignal<T extends object>(obj: T, key: string, v?: unknown): void;
111
+ export interface Signal {
112
+ /**
113
+ * Key on the associated object
114
+ * @internal
115
+ */
116
+ key: string;
117
+ _debug_base?: string;
118
+ /**
119
+ * Whether this signal is part of an active transaction.
120
+ * @internal
121
+ */
122
+ t: boolean;
123
+ /**
124
+ * Whether to "bust" the lastValue cache
125
+ * @internal
126
+ */
127
+ shouldReset: boolean;
128
+ /**
129
+ * The framework specific "signal" e.g. glimmer "tracked"
130
+ * or starbeam "cell" to consume/invalidate when appropriate.
131
+ *
132
+ * @internal
133
+ */
134
+ tag: ReturnType<typeof tagForProperty>;
135
+ /**
136
+ * In classic ember, arrays must entangle a `[]` symbol
137
+ * in addition to any other tag in order for array chains to work.
138
+ *
139
+ * Note, this symbol MUST be the one that ember itself generates
140
+ *
141
+ * @internal
142
+ */
143
+ '[]': ReturnType<typeof tagForProperty> | null;
144
+ /**
145
+ * In classic ember, arrays must entangle a `@length` symbol
146
+ * in addition to any other tag in order for array chains to work.
147
+ *
148
+ * Note, this symbol MUST be the one that ember itself generates
149
+ *
150
+ * @internal
151
+ */
152
+ '@length': ReturnType<typeof tagForProperty> | null;
153
+ /**
154
+ * The lastValue computed for this signal when
155
+ * a signal is also used for storage.
156
+ * @internal
157
+ */
158
+ lastValue: unknown;
159
+ }
160
+ export function createArrayTags<T extends object>(obj: T, signal: Signal): void;
161
+ /**
162
+ * Create a signal for the key/object pairing.
163
+ *
164
+ * @internal
165
+ * @param obj Object we're creating the signal on
166
+ * @param key Key to create the signal for
167
+ * @return the signal
168
+ */
169
+ export function createSignal<T extends object>(obj: T, key: string): Signal;
170
+ /**
171
+ * Create a signal for the key/object pairing and subscribes to the signal.
172
+ *
173
+ * Use when you need to ensure a signal exists and is subscribed to.
174
+ *
175
+ * @internal
176
+ * @param signals Map of signals
177
+ * @param obj Object we're creating the signal on
178
+ * @param key Key to create the signal for
179
+ * @return the signal
180
+ */
181
+ export function entangleSignal<T extends object>(signals: Map<string, Signal>, obj: T, key: string): Signal;
182
+ export function getSignal<T extends object>(obj: T, key: string, initialState: boolean): Signal;
183
+ export function peekSignal<T extends object>(obj: T, key: string): Signal | undefined;
184
+ export {};
185
+ }
186
+ //# sourceMappingURL=-private.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"-private.d.ts","sourceRoot":"","sources":["../src/-private.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAOzD;;;;;;;;;;;;;GAaG;AACH,KAAK,QAAQ,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,OAAO,CAAC;AAChD,KAAK,GAAG,GAAG;IAAE,GAAG,EAAE,IAAI,CAAC;IAAC,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAoCrC;;;;;;;;;GASG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAejD;AA8GD,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,GAAG,IAAI,CAQxD;AACD,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,QAAQ,GAAG,IAAI,CAQvD;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,SAAS,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAKtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAKrE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,QAAQ,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,UAAU,CAAC,CAAC,CAAC,CAOjG;AAED,eAAO,MAAM,OAAO,+BAA+C,CAAC;AAEpE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC,EAAE,OAAO,QA0B9E;AAED,MAAM,WAAW,MAAM;IACrB;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB;;;OAGG;IACH,CAAC,EAAE,OAAO,CAAC;IAEX;;;OAGG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;;;OAKG;IACH,GAAG,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC;IAEvC;;;;;;;OAOG;IACH,IAAI,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC;IAC/C;;;;;;;OAOG;IACH,SAAS,EAAE,UAAU,CAAC,OAAO,cAAc,CAAC,GAAG,IAAI,CAAC;IAEpD;;;;OAIG;IACH,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,QAKvE;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CA4B1E;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAQ1G;AAMD,wBAAgB,SAAS,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,MAAM,CAe9F;AAED,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAKpF"}
@@ -0,0 +1,9 @@
1
+ /// <reference path="./-private.d.ts" />
2
+ declare module '@ember-data/tracking' {
3
+ import { createCache, getValue } from '@glimmer/tracking/primitives/cache';
4
+ export { transact, memoTransact, untracked } from '@ember-data/tracking/-private';
5
+ export { dependentKeyCompat as compat } from '@ember/object/compat';
6
+ export function cached<T extends object, K extends keyof T & string>(target: T, key: K, descriptor: PropertyDescriptor): void;
7
+ export { createCache, getValue };
8
+ }
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,oCAAoC,CAAC;AAI3E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAI/D,OAAO,EAAE,kBAAkB,IAAI,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAEpE,wBAAgB,MAAM,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,GAAG,MAAM,EACjE,MAAM,EAAE,CAAC,EACT,GAAG,EAAE,CAAC,EACN,UAAU,EAAE,kBAAkB,QA6B/B;AAED,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAC"}
package/addon/-private.js DELETED
@@ -1,199 +0,0 @@
1
- import { macroCondition, getOwnConfig } from '@embroider/macros';
2
-
3
- /**
4
- * This package provides primitives that allow powerful low-level
5
- * adjustments to change tracking notification behaviors.
6
- *
7
- * Typically you want to use these primitives when you want to divorce
8
- * property accesses on EmberData provided objects from the current
9
- * tracking context. Typically this sort of thing occurs when serializing
10
- * tracked data to send in a request: the data itself is often ancillary
11
- * to the thing which triggered the request in the first place and you
12
- * would not want to re-trigger the request for any update to the data.
13
- *
14
- * @module @ember-data/tracking
15
- * @main @ember-data/tracking
16
- */
17
- let TRANSACTION = null;
18
- function createTransaction() {
19
- let transaction = {
20
- cbs: new Set(),
21
- props: new Set(),
22
- sub: new Set(),
23
- parent: null
24
- };
25
- if (TRANSACTION) {
26
- transaction.parent = TRANSACTION;
27
- }
28
- TRANSACTION = transaction;
29
- }
30
- function subscribe(obj) {
31
- if (TRANSACTION) {
32
- TRANSACTION.sub.add(obj);
33
- } else {
34
- obj.ref;
35
- }
36
- }
37
- function updateRef(obj) {
38
- if (macroCondition(getOwnConfig().env.DEBUG)) {
39
- try {
40
- obj.ref = null;
41
- } catch (e) {
42
- if (e instanceof Error) {
43
- if (e.message.includes('You attempted to update `ref` on `Tag`')) {
44
- e.message = e.message.replace('You attempted to update `ref` on `Tag`',
45
- // @ts-expect-error
46
- `You attempted to update <${obj._debug_base}>.${obj._debug_prop}` // eslint-disable-line
47
- );
48
-
49
- e.stack = e.stack?.replace('You attempted to update `ref` on `Tag`',
50
- // @ts-expect-error
51
- `You attempted to update <${obj._debug_base}>.${obj._debug_prop}` // eslint-disable-line
52
- );
53
-
54
- const lines = e.stack?.split(`\n`);
55
- const finalLines = [];
56
- let lastFile = null;
57
- lines?.forEach(line => {
58
- if (line.trim().startsWith('at ')) {
59
- // get the last string in the line which contains the code source location
60
- const location = line.split(' ').at(-1);
61
- // remove the line and char offset info
62
-
63
- if (location.includes(':')) {
64
- const parts = location.split(':');
65
- parts.pop();
66
- parts.pop();
67
- const file = parts.join(':');
68
- if (file !== lastFile) {
69
- lastFile = file;
70
- finalLines.push('');
71
- }
72
- }
73
- finalLines.push(line);
74
- }
75
- });
76
- const splitstr = '`ref` was first used:';
77
- const parts = e.message.split(splitstr);
78
- parts.splice(1, 0, `Original Stack\n=============\n${finalLines.join(`\n`)}\n\n${splitstr}`);
79
- e.message = parts.join('');
80
- }
81
- }
82
- throw e;
83
- }
84
- } else {
85
- obj.ref = null;
86
- }
87
- }
88
- function flushTransaction() {
89
- let transaction = TRANSACTION;
90
- TRANSACTION = transaction.parent;
91
- transaction.cbs.forEach(cb => {
92
- cb();
93
- });
94
- transaction.props.forEach(obj => {
95
- // mark this mutation as part of a transaction
96
- obj.t = true;
97
- updateRef(obj);
98
- });
99
- transaction.sub.forEach(obj => {
100
- obj.ref;
101
- });
102
- }
103
- async function untrack() {
104
- let transaction = TRANSACTION;
105
- TRANSACTION = transaction.parent;
106
-
107
- // defer writes
108
- await Promise.resolve();
109
- transaction.cbs.forEach(cb => {
110
- cb();
111
- });
112
- transaction.props.forEach(obj => {
113
- // mark this mutation as part of a transaction
114
- obj.t = true;
115
- updateRef(obj);
116
- });
117
- }
118
- function addToTransaction(obj) {
119
- if (TRANSACTION) {
120
- TRANSACTION.props.add(obj);
121
- } else {
122
- updateRef(obj);
123
- }
124
- }
125
- function addTransactionCB(method) {
126
- if (TRANSACTION) {
127
- TRANSACTION.cbs.add(method);
128
- } else {
129
- method();
130
- }
131
- }
132
-
133
- /**
134
- * Run `method` without subscribing to any tracked properties
135
- * controlled by EmberData.
136
- *
137
- * This should rarely be used except by libraries that really
138
- * know what they are doing. It is most useful for wrapping
139
- * certain kinds of fetch/query logic from within a `Resource`
140
- * `hook` or other similar pattern.
141
- *
142
- * @function untracked
143
- * @public
144
- * @static
145
- * @for @ember-data/tracking
146
- * @param method
147
- * @returns result of invoking method
148
- */
149
- function untracked(method) {
150
- createTransaction();
151
- const ret = method();
152
- void untrack();
153
- return ret;
154
- }
155
-
156
- /**
157
- * Run the method, subscribing to any tracked properties
158
- * managed by EmberData that were accessed or written during
159
- * the method's execution as per-normal but while allowing
160
- * interleaving of reads and writes.
161
- *
162
- * This is useful when for instance you want to perform
163
- * a mutation based on existing state that must be read first.
164
- *
165
- * @function transact
166
- * @public
167
- * @static
168
- * @for @ember-data/tracking
169
- * @param method
170
- * @returns result of invoking method
171
- */
172
- function transact(method) {
173
- createTransaction();
174
- const ret = method();
175
- flushTransaction();
176
- return ret;
177
- }
178
-
179
- /**
180
- * A helpful utility for creating a new function that
181
- * always runs in a transaction. E.G. this "memoizes"
182
- * calling `transact(fn)`, currying args as necessary.
183
- *
184
- * @method memoTransact
185
- * @public
186
- * @static
187
- * @for @ember-data/tracking
188
- * @param method
189
- * @returns a function that will invoke method in a transaction with any provided args and return its result
190
- */
191
- function memoTransact(method) {
192
- return function (...args) {
193
- createTransaction();
194
- const ret = method(...args);
195
- flushTransaction();
196
- return ret;
197
- };
198
- }
199
- export { addToTransaction, addTransactionCB, memoTransact, subscribe, transact, untracked };
@@ -1 +0,0 @@
1
- {"version":3,"file":"-private.js","sources":["../src/-private.ts"],"sourcesContent":["import { DEBUG } from '@ember-data/env';\n\n/**\n * This package provides primitives that allow powerful low-level\n * adjustments to change tracking notification behaviors.\n *\n * Typically you want to use these primitives when you want to divorce\n * property accesses on EmberData provided objects from the current\n * tracking context. Typically this sort of thing occurs when serializing\n * tracked data to send in a request: the data itself is often ancillary\n * to the thing which triggered the request in the first place and you\n * would not want to re-trigger the request for any update to the data.\n *\n * @module @ember-data/tracking\n * @main @ember-data/tracking\n */\ntype OpaqueFn = (...args: unknown[]) => unknown;\ntype Tag = { ref: null; t: boolean };\ntype Transaction = {\n cbs: Set<OpaqueFn>;\n props: Set<Tag>;\n sub: Set<Tag>;\n parent: Transaction | null;\n};\nlet TRANSACTION: Transaction | null = null;\n\nfunction createTransaction() {\n let transaction: Transaction = {\n cbs: new Set(),\n props: new Set(),\n sub: new Set(),\n parent: null,\n };\n if (TRANSACTION) {\n transaction.parent = TRANSACTION;\n }\n TRANSACTION = transaction;\n}\n\nexport function subscribe(obj: Tag): void {\n if (TRANSACTION) {\n TRANSACTION.sub.add(obj);\n } else {\n obj.ref;\n }\n}\n\nfunction updateRef(obj: Tag): void {\n if (DEBUG) {\n try {\n obj.ref = null;\n } catch (e: unknown) {\n if (e instanceof Error) {\n if (e.message.includes('You attempted to update `ref` on `Tag`')) {\n e.message = e.message.replace(\n 'You attempted to update `ref` on `Tag`',\n // @ts-expect-error\n `You attempted to update <${obj._debug_base}>.${obj._debug_prop}` // eslint-disable-line\n );\n e.stack = e.stack?.replace(\n 'You attempted to update `ref` on `Tag`',\n // @ts-expect-error\n `You attempted to update <${obj._debug_base}>.${obj._debug_prop}` // eslint-disable-line\n );\n\n const lines = e.stack?.split(`\\n`);\n const finalLines: string[] = [];\n let lastFile: string | null = null;\n\n lines?.forEach((line) => {\n if (line.trim().startsWith('at ')) {\n // get the last string in the line which contains the code source location\n const location = line.split(' ').at(-1)!;\n // remove the line and char offset info\n\n if (location.includes(':')) {\n const parts = location.split(':');\n parts.pop();\n parts.pop();\n const file = parts.join(':');\n if (file !== lastFile) {\n lastFile = file;\n finalLines.push('');\n }\n }\n finalLines.push(line);\n }\n });\n\n const splitstr = '`ref` was first used:';\n const parts = e.message.split(splitstr);\n parts.splice(1, 0, `Original Stack\\n=============\\n${finalLines.join(`\\n`)}\\n\\n${splitstr}`);\n\n e.message = parts.join('');\n }\n }\n throw e;\n }\n } else {\n obj.ref = null;\n }\n}\n\nfunction flushTransaction() {\n let transaction = TRANSACTION!;\n TRANSACTION = transaction.parent;\n transaction.cbs.forEach((cb) => {\n cb();\n });\n transaction.props.forEach((obj: Tag) => {\n // mark this mutation as part of a transaction\n obj.t = true;\n updateRef(obj);\n });\n transaction.sub.forEach((obj: Tag) => {\n obj.ref;\n });\n}\nasync function untrack() {\n let transaction = TRANSACTION!;\n TRANSACTION = transaction.parent;\n\n // defer writes\n await Promise.resolve();\n transaction.cbs.forEach((cb) => {\n cb();\n });\n transaction.props.forEach((obj: Tag) => {\n // mark this mutation as part of a transaction\n obj.t = true;\n updateRef(obj);\n });\n}\n\nexport function addToTransaction(obj: Tag): void {\n if (TRANSACTION) {\n TRANSACTION.props.add(obj);\n } else {\n updateRef(obj);\n }\n}\nexport function addTransactionCB(method: OpaqueFn): void {\n if (TRANSACTION) {\n TRANSACTION.cbs.add(method);\n } else {\n method();\n }\n}\n\n/**\n * Run `method` without subscribing to any tracked properties\n * controlled by EmberData.\n *\n * This should rarely be used except by libraries that really\n * know what they are doing. It is most useful for wrapping\n * certain kinds of fetch/query logic from within a `Resource`\n * `hook` or other similar pattern.\n *\n * @function untracked\n * @public\n * @static\n * @for @ember-data/tracking\n * @param method\n * @returns result of invoking method\n */\nexport function untracked<T extends OpaqueFn>(method: T): ReturnType<T> {\n createTransaction();\n const ret = method();\n void untrack();\n return ret as ReturnType<T>;\n}\n\n/**\n * Run the method, subscribing to any tracked properties\n * managed by EmberData that were accessed or written during\n * the method's execution as per-normal but while allowing\n * interleaving of reads and writes.\n *\n * This is useful when for instance you want to perform\n * a mutation based on existing state that must be read first.\n *\n * @function transact\n * @public\n * @static\n * @for @ember-data/tracking\n * @param method\n * @returns result of invoking method\n */\nexport function transact<T extends OpaqueFn>(method: T): ReturnType<T> {\n createTransaction();\n const ret = method();\n flushTransaction();\n return ret as ReturnType<T>;\n}\n\n/**\n * A helpful utility for creating a new function that\n * always runs in a transaction. E.G. this \"memoizes\"\n * calling `transact(fn)`, currying args as necessary.\n *\n * @method memoTransact\n * @public\n * @static\n * @for @ember-data/tracking\n * @param method\n * @returns a function that will invoke method in a transaction with any provided args and return its result\n */\nexport function memoTransact<T extends OpaqueFn>(method: T): (...args: unknown[]) => ReturnType<T> {\n return function (...args: unknown[]) {\n createTransaction();\n const ret = method(...args);\n flushTransaction();\n return ret as ReturnType<T>;\n };\n}\n"],"names":["TRANSACTION","createTransaction","transaction","cbs","Set","props","sub","parent","subscribe","obj","add","ref","updateRef","macroCondition","getOwnConfig","env","DEBUG","e","Error","message","includes","replace","_debug_base","_debug_prop","stack","lines","split","finalLines","lastFile","forEach","line","trim","startsWith","location","at","parts","pop","file","join","push","splitstr","splice","flushTransaction","cb","t","untrack","Promise","resolve","addToTransaction","addTransactionCB","method","untracked","ret","transact","memoTransact","args"],"mappings":"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"}
package/addon/index.js DELETED
@@ -1 +0,0 @@
1
- export { memoTransact, transact, untracked } from "./-private";
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}