@simulacrum/auth0-simulator
Version:
Run local instance of Auth0 API for local development and integration testing
43 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.convertInitialStateToStoreState = exports.convertToObj = exports.auth0InitialStoreSchema = exports.defaultUser = exports.auth0UserSchema = void 0;
const zod_1 = require("zod");
const faker_1 = require("@faker-js/faker");
exports.auth0UserSchema = zod_1.z
.object({
id: zod_1.z.string().default(""),
name: zod_1.z.string(),
password: zod_1.z.string().optional().default("12345"),
email: zod_1.z.string().email().optional(),
picture: zod_1.z.string().url().optional(),
})
.transform((user) => {
if (!user.email)
user.email = faker_1.faker.internet.email({ firstName: user.name });
user.id = faker_1.faker.database.mongodbObjectId();
if (!user.picture)
user.picture = faker_1.faker.image.avatar();
return user;
});
exports.defaultUser = exports.auth0UserSchema.parse({
name: "default",
email: "default@example.com",
});
exports.auth0InitialStoreSchema = zod_1.z.object({
users: zod_1.z.array(exports.auth0UserSchema),
});
const convertToObj = (arrayOfObjects, key = "id") => arrayOfObjects.reduce((final, obj) => {
final[obj[key]] = obj;
return final;
}, {});
exports.convertToObj = convertToObj;
const convertInitialStateToStoreState = (initialState) => {
if (!initialState)
return undefined;
const storeObject = {
users: (0, exports.convertToObj)(initialState.users, "id"),
};
return storeObject;
};
exports.convertInitialStateToStoreState = convertInitialStateToStoreState;
//# sourceMappingURL=entities.js.map