@ember-data/request-utils 5.4.0-beta.1 → 5.4.0-beta.10

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.
package/README.md CHANGED
@@ -28,6 +28,16 @@ Install using your javascript package manager of choice. For instance with [pnpm
28
28
  ```no-highlight
29
29
  pnpm add @ember-data/request-utils
30
30
  ```
31
+
32
+ **Tagged Releases**
33
+
34
+ - ![NPM Canary Version](https://img.shields.io/npm/v/%40ember-data/request-utils/canary?label=%40canary&color=FFBF00)
35
+ - ![NPM Beta Version](https://img.shields.io/npm/v/%40ember-data/request-utils/beta?label=%40beta&color=ff00ff)
36
+ - ![NPM Stable Version](https://img.shields.io/npm/v/%40ember-data/request-utils/latest?label=%40latest&color=90EE90)
37
+ - ![NPM LTS Version](https://img.shields.io/npm/v/%40ember-data/request-utils/lts?label=%40lts&color=0096FF)
38
+ - ![NPM LTS 4.12 Version](https://img.shields.io/npm/v/%40ember-data/request-utils/lts-4-12?label=%40lts-4-12&color=bbbbbb)
39
+
40
+
31
41
  ## Utils
32
42
 
33
43
  - [buildBaseUrl]()
package/addon-main.cjs ADDED
@@ -0,0 +1,5 @@
1
+ 'use strict';
2
+
3
+ const { addonShim } = require('@warp-drive/build-config/addon-shim.cjs');
4
+
5
+ module.exports = addonShim(__dirname);
@@ -0,0 +1,187 @@
1
+ import { deprecate } from '@ember/debug';
2
+ import { macroCondition, getGlobalConfig, dependencySatisfies, importSync } from '@embroider/macros';
3
+ import { m as defaultRules, b as plural, a as singular, i as irregular, u as uncountable } from "./inflect-8aYUyMN7.js";
4
+ if (macroCondition(getGlobalConfig().WarpDrive.deprecations.DEPRECATE_EMBER_INFLECTOR)) {
5
+ if (macroCondition(dependencySatisfies('ember-inflector', '*'))) {
6
+ const Inflector = importSync('ember-inflector').default;
7
+ const {
8
+ inflector
9
+ } = Inflector;
10
+
11
+ // eslint-disable-next-line @typescript-eslint/unbound-method
12
+ const originalPlural = inflector.plural;
13
+ // eslint-disable-next-line @typescript-eslint/unbound-method
14
+ const originalSingular = inflector.singular;
15
+ // eslint-disable-next-line @typescript-eslint/unbound-method
16
+ const originalIrregular = inflector.irregular;
17
+ // eslint-disable-next-line @typescript-eslint/unbound-method
18
+ const originalUncountable = inflector.uncountable;
19
+
20
+ // copy over any already registered rules
21
+
22
+ // ember-inflector mutates the default rules arrays
23
+ // with user supplied rules, so we keep track of what
24
+ // is default via our own list.
25
+ const defaultPluralKeys = new Set();
26
+ const defaultSingularKeys = new Set();
27
+ defaultRules.plurals.forEach(([regex]) => {
28
+ defaultPluralKeys.add(regex.toString());
29
+ });
30
+ defaultRules.singular.forEach(([regex]) => {
31
+ defaultSingularKeys.add(regex.toString());
32
+ });
33
+ const {
34
+ defaultRules: defaultRules$1
35
+ } = Inflector;
36
+ const {
37
+ rules
38
+ } = inflector;
39
+ const irregularMap = new Map();
40
+ const toIgnore = new Set();
41
+ const uncountableSet = new Set(defaultRules$1.uncountable);
42
+ defaultRules$1.irregularPairs.forEach(([single, plur]) => {
43
+ irregularMap.set(single.toLowerCase(), plur);
44
+ toIgnore.add(plur.toLowerCase());
45
+ });
46
+ const irregularLookups = new Map();
47
+ Object.keys(rules.irregular).forEach(single => {
48
+ const plur = rules.irregular[single];
49
+ irregularLookups.set(single, plur);
50
+ });
51
+
52
+ // load plurals
53
+ rules.plurals.forEach(([regex, replacement]) => {
54
+ if (defaultPluralKeys.has(regex.toString())) {
55
+ return;
56
+ }
57
+ plural(regex, replacement);
58
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for pluralization.\nPlease \`import { plural } from '@ember-data/request-utils/string';\` instead to register a custom pluralization rule for use with EmberData.`, false, {
59
+ id: 'warp-drive.ember-inflector',
60
+ until: '6.0.0',
61
+ for: 'warp-drive',
62
+ since: {
63
+ enabled: '5.3.4',
64
+ available: '5.3.4'
65
+ },
66
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
67
+ });
68
+ });
69
+
70
+ // load singulars
71
+ rules.singular.forEach(([regex, replacement]) => {
72
+ if (defaultSingularKeys.has(regex.toString())) {
73
+ return;
74
+ }
75
+ singular(regex, replacement);
76
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for singularization.\nPlease \`import { singular } from '@ember-data/request-utils/string';\` instead to register a custom singularization rule for use with EmberData.`, false, {
77
+ id: 'warp-drive.ember-inflector',
78
+ until: '6.0.0',
79
+ for: 'warp-drive',
80
+ since: {
81
+ enabled: '5.3.4',
82
+ available: '5.3.4'
83
+ },
84
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
85
+ });
86
+ });
87
+
88
+ // load irregulars
89
+ Object.keys(rules.irregular).forEach(single => {
90
+ const plur = rules.irregular[single];
91
+ const defaultPlur = irregularMap.get(single);
92
+ if (defaultPlur && defaultPlur === plur) {
93
+ return;
94
+ }
95
+ if (toIgnore.has(single)) {
96
+ return;
97
+ }
98
+ const actualSingle = irregularLookups.get(plur.toLowerCase()) || single;
99
+ toIgnore.add(plur.toLowerCase());
100
+ irregular(actualSingle, plur);
101
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\nPlease \`import { irregular } from '@ember-data/request-utils/string';\` instead to register a custom irregular rule for use with EmberData for '${actualSingle}' <=> '${plur}'.`, false, {
102
+ id: 'warp-drive.ember-inflector',
103
+ until: '6.0.0',
104
+ for: 'warp-drive',
105
+ since: {
106
+ enabled: '5.3.4',
107
+ available: '5.3.4'
108
+ },
109
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
110
+ });
111
+ });
112
+
113
+ // load uncountables
114
+ Object.keys(rules.uncountable).forEach(word => {
115
+ if (uncountableSet.has(word) || rules.uncountable[word] !== true) {
116
+ return;
117
+ }
118
+ uncountable(word);
119
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\nPlease \`import { uncountable } from '@ember-data/request-utils/string';\` instead to register a custom uncountable rule for '${word}' for use with EmberData.`, false, {
120
+ id: 'warp-drive.ember-inflector',
121
+ until: '6.0.0',
122
+ for: 'warp-drive',
123
+ since: {
124
+ enabled: '5.3.4',
125
+ available: '5.3.4'
126
+ },
127
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
128
+ });
129
+ });
130
+ inflector.plural = function (...args) {
131
+ plural(...args);
132
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for pluralization.\nPlease \`import { plural } from '@ember-data/request-utils/string';\` instead to register a custom pluralization rule for use with EmberData.`, false, {
133
+ id: 'warp-drive.ember-inflector',
134
+ until: '6.0.0',
135
+ for: 'warp-drive',
136
+ since: {
137
+ enabled: '5.3.4',
138
+ available: '5.3.4'
139
+ },
140
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
141
+ });
142
+ return originalPlural.apply(inflector, args);
143
+ };
144
+ inflector.singular = function (...args) {
145
+ singular(...args);
146
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for singularization.\nPlease \`import { singular } from '@ember-data/request-utils/string';\` instead to register a custom singularization rule for use with EmberData.`, false, {
147
+ id: 'warp-drive.ember-inflector',
148
+ until: '6.0.0',
149
+ for: 'warp-drive',
150
+ since: {
151
+ enabled: '5.3.4',
152
+ available: '5.3.4'
153
+ },
154
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
155
+ });
156
+ return originalSingular.apply(inflector, args);
157
+ };
158
+ inflector.irregular = function (...args) {
159
+ irregular(...args);
160
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\nPlease \`import { irregular } from '@ember-data/request-utils/string';\` instead to register a custom irregular rule for use with EmberData.`, false, {
161
+ id: 'warp-drive.ember-inflector',
162
+ until: '6.0.0',
163
+ for: 'warp-drive',
164
+ since: {
165
+ enabled: '5.3.4',
166
+ available: '5.3.4'
167
+ },
168
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
169
+ });
170
+ return originalIrregular.apply(inflector, args);
171
+ };
172
+ inflector.uncountable = function (...args) {
173
+ uncountable(...args);
174
+ deprecate(`WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\nPlease \`import { uncountable } from '@ember-data/request-utils/string';\` instead to register a custom uncountable rule for use with EmberData.`, false, {
175
+ id: 'warp-drive.ember-inflector',
176
+ until: '6.0.0',
177
+ for: 'warp-drive',
178
+ since: {
179
+ enabled: '5.3.4',
180
+ available: '5.3.4'
181
+ },
182
+ url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector'
183
+ });
184
+ return originalUncountable.apply(inflector, args);
185
+ };
186
+ }
187
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deprecation-support.js","sources":["../src/deprecation-support.ts"],"sourcesContent":["import { deprecate } from '@ember/debug';\n\nimport { dependencySatisfies, importSync, macroCondition } from '@embroider/macros';\n\nimport { DEPRECATE_EMBER_INFLECTOR } from '@warp-drive/build-config/deprecations';\n\nimport { defaultRules as WarpDriveDefaults } from './-private/string/inflections';\nimport { irregular, plural, singular, uncountable } from './string';\n\nif (DEPRECATE_EMBER_INFLECTOR) {\n if (macroCondition(dependencySatisfies('ember-inflector', '*'))) {\n const Inflector = (importSync('ember-inflector') as { default: typeof import('ember-inflector').default }).default;\n const { inflector } = Inflector;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalPlural = inflector.plural;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalSingular = inflector.singular;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalIrregular = inflector.irregular;\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const originalUncountable = inflector.uncountable;\n\n // copy over any already registered rules\n type DefaultRules = {\n plurals: [RegExp, string][];\n singular: [RegExp, string][];\n irregularPairs: [string, string][];\n uncountable: string[];\n };\n type InternalRules = {\n plurals: [RegExp, string][];\n singular: [RegExp, string][];\n\n // [str1, str2] =>\n // { [str1.lower]: str2 }\n // { [str2.lower]: str2 }\n irregular: Record<string, string>;\n\n // [str1, str2] =>\n // { [str2.lower]: str1 }\n // { [str1.lower]: str1 }\n irregularInverse: Record<string, string>;\n\n // lower cased string\n uncountable: Record<string, boolean>;\n };\n\n // ember-inflector mutates the default rules arrays\n // with user supplied rules, so we keep track of what\n // is default via our own list.\n const defaultPluralKeys = new Set<string>();\n const defaultSingularKeys = new Set<string>();\n WarpDriveDefaults.plurals.forEach(([regex]) => {\n defaultPluralKeys.add(regex.toString());\n });\n WarpDriveDefaults.singular.forEach(([regex]) => {\n defaultSingularKeys.add(regex.toString());\n });\n\n const { defaultRules } = Inflector as unknown as { defaultRules: DefaultRules };\n const { rules } = inflector as unknown as { rules: InternalRules };\n\n const irregularMap = new Map<string, string>();\n const toIgnore = new Set<string>();\n const uncountableSet = new Set(defaultRules.uncountable);\n\n defaultRules.irregularPairs.forEach(([single, plur]) => {\n irregularMap.set(single.toLowerCase(), plur);\n toIgnore.add(plur.toLowerCase());\n });\n const irregularLookups = new Map<string, string>();\n Object.keys(rules.irregular).forEach((single) => {\n const plur = rules.irregular[single];\n irregularLookups.set(single, plur);\n });\n\n // load plurals\n rules.plurals.forEach(([regex, replacement]) => {\n if (defaultPluralKeys.has(regex.toString())) {\n return;\n }\n\n plural(regex, replacement);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for pluralization.\\nPlease \\`import { plural } from '@ember-data/request-utils/string';\\` instead to register a custom pluralization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n // load singulars\n rules.singular.forEach(([regex, replacement]) => {\n if (defaultSingularKeys.has(regex.toString())) {\n return;\n }\n\n singular(regex, replacement);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for singularization.\\nPlease \\`import { singular } from '@ember-data/request-utils/string';\\` instead to register a custom singularization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n // load irregulars\n Object.keys(rules.irregular).forEach((single) => {\n const plur = rules.irregular[single];\n const defaultPlur = irregularMap.get(single);\n if (defaultPlur && defaultPlur === plur) {\n return;\n }\n\n if (toIgnore.has(single)) {\n return;\n }\n\n const actualSingle = irregularLookups.get(plur.toLowerCase()) || single;\n toIgnore.add(plur.toLowerCase());\n irregular(actualSingle, plur);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\\nPlease \\`import { irregular } from '@ember-data/request-utils/string';\\` instead to register a custom irregular rule for use with EmberData for '${actualSingle}' <=> '${plur}'.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n // load uncountables\n Object.keys(rules.uncountable).forEach((word) => {\n if (uncountableSet.has(word) || rules.uncountable[word] !== true) {\n return;\n }\n\n uncountable(word);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\\nPlease \\`import { uncountable } from '@ember-data/request-utils/string';\\` instead to register a custom uncountable rule for '${word}' for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n });\n\n inflector.plural = function (...args: Parameters<typeof originalPlural>) {\n plural(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for pluralization.\\nPlease \\`import { plural } from '@ember-data/request-utils/string';\\` instead to register a custom pluralization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalPlural.apply(inflector, args);\n };\n\n inflector.singular = function (...args: Parameters<typeof originalSingular>) {\n singular(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for singularization.\\nPlease \\`import { singular } from '@ember-data/request-utils/string';\\` instead to register a custom singularization rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalSingular.apply(inflector, args);\n };\n\n inflector.irregular = function (...args: Parameters<typeof originalIrregular>) {\n irregular(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for irregular rules.\\nPlease \\`import { irregular } from '@ember-data/request-utils/string';\\` instead to register a custom irregular rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalIrregular.apply(inflector, args);\n };\n\n inflector.uncountable = function (...args: Parameters<typeof originalUncountable>) {\n uncountable(...args);\n\n deprecate(\n `WarpDrive/EmberData no longer uses ember-inflector for uncountable rules.\\nPlease \\`import { uncountable } from '@ember-data/request-utils/string';\\` instead to register a custom uncountable rule for use with EmberData.`,\n false,\n {\n id: 'warp-drive.ember-inflector',\n until: '6.0.0',\n for: 'warp-drive',\n since: {\n enabled: '5.3.4',\n available: '5.3.4',\n },\n url: 'https://deprecations.emberjs.com/id/warp-drive.ember-inflector',\n }\n );\n\n return originalUncountable.apply(inflector, args);\n };\n }\n}\n"],"names":["macroCondition","getGlobalConfig","WarpDrive","deprecations","DEPRECATE_EMBER_INFLECTOR","dependencySatisfies","Inflector","importSync","default","inflector","originalPlural","plural","originalSingular","singular","originalIrregular","irregular","originalUncountable","uncountable","defaultPluralKeys","Set","defaultSingularKeys","WarpDriveDefaults","plurals","forEach","regex","add","toString","defaultRules","rules","irregularMap","Map","toIgnore","uncountableSet","irregularPairs","single","plur","set","toLowerCase","irregularLookups","Object","keys","replacement","has","deprecate","id","until","for","since","enabled","available","url","defaultPlur","get","actualSingle","word","args","apply"],"mappings":"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"}