Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@
"@glint/template": "^1.5.2",
"@rollup/plugin-babel": "^6.0.4",
"@tsconfig/ember": "^3.0.8",
"@types/rsvp": "^4.0.9",
"babel-plugin-ember-template-compilation": "^2.2.5",
"concurrently": "^9.0.1",
"decorator-transforms": "^2.2.2",
Expand Down
3 changes: 3 additions & 0 deletions pnpm-lock.yaml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions rollup.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,8 @@ export default {
// Ensure that .gjs files are properly integrated as Javascript
addon.gjs(),

// @todo convert addon to TypeScript
// // Emit .d.ts declaration files
// addon.declarations('declarations'),
// Emit .d.ts declaration files
addon.declarations('declarations'),

// addons are allowed to contain imports of .css files, which we want rollup
// to leave alone and keep in the published output.
Expand Down
2 changes: 0 additions & 2 deletions src/index.js

This file was deleted.

4 changes: 4 additions & 0 deletions src/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
export { lookupValidator as default } from 'validated-changeset';
export { setMessages } from './utils/messages.ts';

export type { ValidatorMapFunc } from 'validated-changeset/types';
12 changes: 7 additions & 5 deletions src/utils/messages.js → src/utils/messages.ts
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
import _Messages from 'ember-validators/messages';
import { capitalize, dasherize } from '@ember/string';

let cachedRef;
let customMessages;
type IMessages = Record<string, string>;

let cachedRef: IMessages | undefined;
let customMessages: IMessages | undefined;

export const defaultMessages = Object.assign({}, _Messages, {
// Blank and present are flipped in ember-validators. Need to flip them back here
Expand Down Expand Up @@ -39,17 +41,17 @@ export const defaultMessages = Object.assign({}, _Messages, {
*
* @return {Object}
*/
export function getMessages() {
export function getMessages(): object {
if (cachedRef) {
return cachedRef;
}

cachedRef = Object.assign({}, defaultMessages, customMessages);

return cachedRef;
return cachedRef as IMessages;
}

export function setMessages(messages) {
export function setMessages(messages: IMessages) {
customMessages = messages;
cachedRef = undefined;
}
4 changes: 3 additions & 1 deletion src/utils/to-date.js → src/utils/to-date.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,9 @@
* @returns {Date} the parsed date in the local time zone
* @throws {TypeError} 1 argument required
*/
export default function toDate(argument) {
export default function toDate(
argument: Date | number | string | (() => Date | number),
): Date {
const argStr = Object.prototype.toString.call(argument);

if (typeof argument === 'function') {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,16 @@ import { get } from '@ember/object';

import { assert } from '@ember/debug';
import { getOwnConfig } from '@embroider/macros';
import { getMessages } from './messages.js';
import { getMessages } from './messages.ts';

type IOwnConfig =
| undefined
| {
rawOutput: boolean;
};

export default function buildMessage(key, result) {
let returnsRaw = getOwnConfig()?.rawOutput || false;
let returnsRaw = getOwnConfig<IOwnConfig>()?.rawOutput || false;
let messages = getMessages();

let description = messages.getDescriptionFor(key);
Expand Down
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import buildMessage from '../utils/validation-errors.js';
import buildMessage from '../utils/validation-errors.ts';
import evValidateConfirmation from 'ember-validators/confirmation';

export default function validateConfirmation(options = {}) {
Expand Down
6 changes: 3 additions & 3 deletions src/validators/date.js → src/validators/date.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import buildMessage from '../utils/validation-errors.js';
import withDefaults from '../utils/with-defaults.js';
import toDate from '../utils/to-date.js';
import buildMessage from '../utils/validation-errors.ts';
import withDefaults from '../utils/with-defaults.ts';
import toDate from '../utils/to-date.ts';

const errorFormat = 'MMM Do, YYYY';

Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import buildMessage from '../utils/validation-errors.js';
import buildMessage from '../utils/validation-errors.ts';
import evValidateExclusion from 'ember-validators/exclusion';

export default function validateExclusion(options = {}) {
Expand Down
2 changes: 1 addition & 1 deletion src/validators/format.js → src/validators/format.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { isEmpty } from '@ember/utils';
import buildMessage from '../utils/validation-errors.js';
import buildMessage from '../utils/validation-errors.ts';
import evValidateFormat from 'ember-validators/format';

export default function validateFormat(options = {}) {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import buildMessage from '../utils/validation-errors.js';
import buildMessage from '../utils/validation-errors.ts';
import evValidateInclusion from 'ember-validators/inclusion';

export default function validateInclusion(options = {}) {
Expand Down
8 changes: 0 additions & 8 deletions src/validators/index.js

This file was deleted.

8 changes: 8 additions & 0 deletions src/validators/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
export { default as validateDate } from './date.ts';
export { default as validatePresence } from './presence.ts';
export { default as validateLength } from './length.ts';
export { default as validateNumber } from './number.ts';
export { default as validateFormat } from './format.ts';
export { default as validateInclusion } from './inclusion.ts';
export { default as validateExclusion } from './exclusion.ts';
export { default as validateConfirmation } from './confirmation.ts';
4 changes: 2 additions & 2 deletions src/validators/length.js → src/validators/length.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import buildMessage from '../utils/validation-errors.js';
import withDefaults from '../utils/with-defaults.js';
import buildMessage from '../utils/validation-errors.ts';
import withDefaults from '../utils/with-defaults.ts';
import evValidateLength from 'ember-validators/length';

export default function validateLength(options = {}) {
Expand Down
4 changes: 2 additions & 2 deletions src/validators/number.js → src/validators/number.ts
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import buildMessage from '../utils/validation-errors.js';
import withDefaults from '../utils/with-defaults.js';
import buildMessage from '../utils/validation-errors.ts';
import withDefaults from '../utils/with-defaults.ts';
import evValidateNumber from 'ember-validators/number';

export default function validateNumber(options = {}) {
Expand Down
2 changes: 1 addition & 1 deletion src/validators/presence.js → src/validators/presence.ts
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import buildMessage from '../utils/validation-errors.js';
import buildMessage from '../utils/validation-errors.ts';
import evValidatePresence from 'ember-validators/presence';
import { get } from '@ember/object';

Expand Down
Loading